Встречается на собеседованиях • сегодня

Всегда ли выполняется блок finally

Блок finally выполняется всегда, за исключением нескольких крайних случаев:

  1. При вызове System.exit() внутри try или catch
  2. При аварийном завершении JVM (например, kill -9 на Linux)
  3. Если поток выполнения прерывается (например, Thread.stop())

Пример:

java
try {
    // Код, который может выбросить исключение
    throw new RuntimeException();
} catch (Exception e) {
    System.out.println("Exception caught");
} finally {
    System.out.println("This will always execute");
}

Даже если исключение не перехвачено или есть return в try/catch, finally сработает перед выходом из метода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы