Да, ты можешь создать блок finally без блока catch. Блок finally может идти либо после блока try, либо после блока catch, поэтому совершенно валидно определить блок finally сразу после блока try.
Правильная синтаксическая структура выглядит так:
try {
// код, который может выбросить исключение
}
finally {
// код очистки, который всегда выполняется
}
Такой подход идеален, когда ты хочешь гарантировать выполнение какого-то кода после блока try, но нет необходимости явно обрабатывать исключения. Обработка исключений может быть делегирована внешнему блоку try-catch или переложена на вызывающий метод.
Блок finally будет выполнен даже если в соответствующем блоке try не было выброшено никаких исключений.
Новый — ещё не проверен сообществом
Вы