Преимущества использования блока finally вместе с try и catch:
- Выполнение кода при любых условиях. 1 Исполняемая программа всегда попадает в блок finally, независимо от того, произошло ли исключение в try и сработал ли какой-то catch. 1
- Очистка ресурсов. 23 Блок finally подходит для очистки ресурсов, например закрытия файловых потоков или подключений к базе данных. 3
- Завершение начатых процессов. 4 Блок finally срабатывает, даже если в try или в catch код наткнётся на return. 14 Сначала выполнится finally, а потом программа выйдет из метода. 1
Единственный случай, когда finally не срабатывает, — критическая ошибка, когда программа вылетела или у неё закончилась выделенная память. 1