Назад к вопросам
Junior
105
questionbank

Как работает конструкция try-catch в Java?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Конструкция try-catch используется для обработки исключений - событий, нарушающих normal flow выполнения программы.

  • try: Блок кода, где potentially может возникнуть исключение. Если исключение происходит внутри блока try, выполнение этого блока прерывается.
  • catch: Блок кода, который выполняется, если исключение определенного типа (указанного в скобках после catch) произошло в соответствующем блоке try. Java ищет подходящий блок catch для обработки исключения. Если найден, код в этом блоке выполняется.
  • finally (опционально): Блок кода, который гарантированно выполняется после try-catch блоков, независимо от того, возникло исключение или нет, или было ли оно перехвачено. Используется для очистки ресурсов (закрытие файлов, соединений и т.д.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Code that might throw an exception
            int result = 10 / 0; // ArithmeticException
            System.out.println("This line will not be executed if an exception occurs.");
        } catch (ArithmeticException e) {
            // Handling the specific exception type
            System.err.println("An arithmetic error occurred: " + e.getMessage());
        } catch (Exception e) {
            // Generic catch for any other exception type
            System.err.println("An unknown error occurred: " + e.getMessage());
        } finally {
            // Code that always executes
            System.out.println("Finally block executed.");
        }

        System.out.println("Program continues after try-catch.");
    }
}

Сравнение try-catch и throws:

Признак try-catch throws
Цель Обработка исключения Делегирование ответственности
Место Блок кода Сигнатура метода
Действие Перехватывает и обрабатывает Указывает на возможность выброса