Встречается на собеседованиях • сегодня
Что вернет метод при делении на 0 в try, если блок catch возвращает ошибку, а finally возвращает "finally"
В Java finally блок выполнится всегда, даже если в try или catch было возвращение значения или исключение. Однако если catch возвращает ошибку (throw), а finally пытается вернуть значение (return), это приведет к ошибке компиляции - нельзя одновременно возвращать значение и бросать исключение.
Пример:
java
String test() {
try {
int x = 5 / 0;
} catch (Exception e) {
throw new RuntimeException("Error"); // Бросаем исключение
} finally {
return "finally"; // Ошибка компиляции!
}
}Компилятор выдаст ошибку, так как метод не может одновременно:
- Бросать исключение (из catch)
- Возвращать значение (из finally)
Правильный вариант - либо возвращать значение из finally, либо бросать исключение, но не оба варианта одновременно.

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