Что такое блок try-catch-finally в Java и как он работает?

«Что такое блок try-catch-finally в Java и как он работает?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Блок try-catch-finally — это механизм обработки исключений в Java.

Структура:

try {
    // Код, который может выбросить исключение
    int result = 10 / 0;
} catch (ArithmeticException e) {
    // Обработка конкретного исключения
    System.out.println("Деление на ноль: " + e.getMessage());
} finally {
    // Код, выполняющийся всегда, независимо от исключения
    System.out.println("Блок finally выполнен.");
}

Назначение блоков:

  • try — содержит код, где могут возникнуть исключения.
  • catch — перехватывает и обрабатывает исключения указанного типа. Можно использовать несколько блоков catch.
  • finally — выполняется всегда, даже если:
    • исключение было выброшено и перехвачено,
    • исключение было выброшено и не перехвачено,
    • в блоке try или catch был выполнен return.

Best Practice: Блок finally идеально подходит для освобождения ресурсов (закрытие файлов, соединений с БД), чтобы избежать утечек, даже если произошла ошибка.