Встречается на собеседованиях • сегодня
Что позволяет не вызывать блок finally
Блок finally в Java выполняется всегда, независимо от того, было ли исключение или нет. Однако есть несколько исключительных ситуаций, когда finally может не выполниться:
- System.exit() - если вызвать
System.exit()внутриtryилиcatch, JVM завершится немедленно.
java
try {
System.exit(0); // finally не выполнится
} finally {
System.out.println("Это не напечатается");
}-
Сбой JVM - если произойдет фатальная ошибка (например, крах JVM или убийство процесса).
-
Бесконечный цикл/deadlock - если поток заблокирован или зациклен в
try/catch. -
Daemon-потоки - если все не-daemon потоки завершились, JVM может завершиться без выполнения
finallyв daemon-потоках.
В обычных условиях finally гарантированно выполняется после try/catch.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы