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

Что будет при Exception во время выполнения блока finally

Если исключение возникает в блоке finally, оно переопределит любое исключение, которое могло быть выброшено в try или catch. Исходное исключение будет подавлено (можно получить через Throwable.getSuppressed() в Java 7+).

Пример:

java
try {
    throw new RuntimeException("Ошибка в try");
} finally {
    throw new RuntimeException("Ошибка в finally");
}

В результате будет выброшено исключение из finally, а исходное исключение из try будет потеряно (если не использовать try-with-resources или Java 7+).

Лучшая практика - избегать операций, которые могут вызвать исключения, в finally, либо обрабатывать их внутри самого блока finally.

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

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

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

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