С помощью этого вопроса проверяют знание иерархии классов, используемых для обработки исключений.
Исключения checked требуется обрабатывать в блоке catсh. Исключения unchecked обрабатывать необязательно.
Базовым в иерархии классов, предназначенных для обработки исключений, является Throwable. У него есть два наследника:
- error – него входят непроверяемые (которые называются unchecked) исключения, которые сигнализируют о серьёзных, системных ошибках приложения, в этом случае Java машина может не отвечать или работать неправильно;
- exception – отвечает за все проверяемые (которые обозначаются checked) исключения и ошибки возникающие во время выполнения (класс RuntimeException).
Несистемные непроверяемые исключения (то есть unchecked), происходят от класса RuntimeExcepton и считаются его наследниками.
Таким образом все проверяемые исключения (или checked) наследуются Excepton, а unchecked могут наследоваться как от класса error (системные), так и от RuntimeExcepton.