Ответ
Корневым классом всей иерархии исключений в Java является Throwable. От него наследуются два основных класса:
Error— представляет критические системные ошибки (например,OutOfMemoryError,StackOverflowError), которые обычно не обрабатываются в прикладном коде.Exception— базовый класс для исключительных ситуаций, с которыми может столкнуться программа. От него, в свою очередь, наследуются:- Проверяемые исключения (checked), такие как
IOException. Они должны быть либо обработаны в блокеtry-catch, либо объявлены в сигнатуре метода с помощьюthrows. - Непроверяемые исключения (unchecked) —
RuntimeExceptionи его подклассы (например,NullPointerException,IllegalArgumentException). Их обработка не является обязательной для компилятора.
- Проверяемые исключения (checked), такие как
Пример обработки:
try {
// Код, который может выбросить исключение
FileInputStream fis = new FileInputStream("file.txt");
} catch (FileNotFoundException e) { // Обработка проверяемого исключения
System.err.println("Файл не найден: " + e.getMessage());
} catch (RuntimeException e) { // Обработка непроверяемого исключения
System.err.println("Ошибка времени выполнения: " + e);
}