Sobes.tech
Junior — Senior
64

Разбор поведения блоков try‑catch‑finally

Компании, где спрашивали:

Альфа-БанкАльфа-Банк
Условие задачи

Каким будет вывод программы и почему? Какие части кода выполнятся? Почему блок catch (Exception e) не будет вызван? Выполняется ли блок finally при возникновении исключения?

public class ExceptionQuiz {
    public static void main(String[] args) {
        try {
            int i = 1 / 0;
            System.out.println("1");
        } catch (ArithmeticException e) {
            System.out.println("2");
            throw new RuntimeException(e);
        } catch (Exception e) {
            System.out.println("4");
        } finally {
            System.out.println("5");
        }
    }
}