finally { }
программа работает как с ним так и без него.
Вопрос можно ли вообще забыть (не писать) о его существовании?
Виталий Перегудов
18 уровень
Нужен ли блок finally { }
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Svetlana Lapina Java Developer
21 февраля 2020, 06:26
Если код в блоке try выполнится целиком и не выбросит исключения, в конце сработает блок finally.
Если код внутри try прервется, и программа перепрыгнет в блок catch, после того, как отработает код внутри catch, все равно будет выбран блок finally.
Зачем он нужен?
Его главное назначение — выполнить обязательную часть кода; ту часть, которая должна быть выполнена независимо от обстоятельств.
Например, в нем часто освобождают какие-то используемые программой ресурсы.
Если мы открываем поток для чтения информации из файла и передаем его в объект BufferedReader.
Наш reader нужно закрыть и освободить ресурсы. Это нужно сделать в любом случае: неважно, отработает программа как надо или вызовет исключение.
Это удобно делать в блоке finally.
+1
Виталий Перегудов
21 февраля 2020, 06:40
спасибо.
+1