13. В каком порядке следует обрабатывать исключения в catch блоках?

13. В каком порядке следует обрабатывать исключения в catch блоках?

UNKNOWN

Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).

Что такое механизм try-with-resources?

Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создает секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.

Общий вид конструкции:

try(/*объявление ресурсов*/) {

  //...

} catch(Exception ex) {

  //...

} finally {

  //...

}

Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.


Предыдущий вопрос: 12. Может ли метод main() выбросить исключение во вне и если да, то где будет происходить обработка данного исключения?

Следующий вопрос: 14. Что произойдет если исключение будет выброшено из блока catch после чего другое исключение будет выброшено из блока finally?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page