Вопрос проверяет знание базовой иерархии классов исключений.
Все исключения в Java наследуются от Throwable. От него идут две основные ветки: Exception и Error. RuntimeException является подклассом Exception. Такая иерархия помогает разделять типы ошибок по их назначению.
Иерархия исключений помогает понять, как обрабатывать разные типы ошибок.
Throwable — корневой класс для всех исключений и ошибок в Java.
От Throwable отходят две ключевые категории:
ErrorОшибки JVM
Обычно не обрабатываются
Пример: OutOfMemoryError
ExceptionОшибки приложения
Могут быть обработаны
Внутри Exception выделяется:
RuntimeException
Остальные checked-исключения
Throwable
├─ Error
└─ Exception
├─ RuntimeException
└─ Checked exceptions
Иерархия исключений в Java позволяет чётко разделять ошибки JVM и ошибки приложения, а также определять необходимость их обработки.