Назад к вопросам
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 |
|---|---|---|
| Цель | Обработка исключения | Делегирование ответственности |
| Место | Блок кода | Сигнатура метода |
| Действие | Перехватывает и обрабатывает | Указывает на возможность выброса |