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

Что будет, если в catch и finally выбросится исключение в блоке try/catch

Если исключение выбрасывается и в catch, и в finally, исключение из finally перекроет исключение из catch. Это происходит потому, что finally выполняется всегда, даже если в catch возникло исключение. Исключение из catch будет подавлено (suppressed) и добавлено в список подавленных исключений основного исключения (если оно есть).

Пример:

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

В результате будет выброшено исключение RuntimeException("Ошибка в finally"), а исключение из catch будет подавлено.

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

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

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

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