Встречается на собеседованиях • сегодня
Как можно не дойти до finally в try/catch
В блок finally можно не попасть в нескольких случаях:
- System.exit() - вызов этого метода завершает JVM:
java
try {
System.exit(0);
} finally {
System.out.println("Не выполнится");
}- Бесконечный цикл/блокировка - если поток заблокирован или выполняется бесконечно:
java
try {
while(true) {} // Бесконечный цикл
} finally {
System.out.println("Не выполнится");
}-
Сбой JVM - аварийное завершение (OutOfMemoryError, Segmentation Fault и т.д.)
-
Принудительное завершение потока - через Thread.stop() (deprecated) или прерывание через native-методы.
-
Daemon-потоки - если все не-daemon потоки завершились, JVM может завершиться без выполнения finally в daemon-потоках.
Важно: finally не выполняется только в исключительных ситуациях, в нормальной работе он гарантированно выполнится после try/catch.

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