Ответ
Проверяемые исключения (checked exceptions) — это исключения, которые компилятор Java требует явно обработать или объявить в сигнатуре метода. Они представляют ошибки, которые программа может и должна предвидеть и корректно обработать (например, проблемы с вводом-выводом, отсутствие файла).
Зачем они нужны:
- Обеспечение надежности: Компилятор заставляет разработчика задуматься об обработке потенциальных проблем, что повышает устойчивость кода.
- Улучшение документации: Сигнатура метода с
throwsявно указывает на возможные ошибки, улучшая читаемость API. - Контроль за ошибками: Предотвращает ситуации, когда исключение может быть проигнорировано по невнимательности.
Пример:
// Компилятор требует либо обработать IOException, либо объявить его в throws
public String readFirstLine(String filePath) throws IOException {
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
return br.readLine();
}
// Или обработать на месте:
// } catch (IOException e) { ... }
}
Альтернатива: Непроверяемые исключения (RuntimeException) используются для ошибок, которые часто указывают на баги в логике программы (например, NullPointerException, IllegalArgumentException).