Чем отличаются checked и unchecked исключения?
С помощью этого вопроса проверяют знание иерархии классов, используемых для обработки исключений.
Исключения checked требуется обрабатывать в блоке catсh. Исключения unchecked обрабатывать необязательно.
Базовым в иерархии классов, предназначенных для обработки исключений, является Throwable. У него есть два наследника:
- error – него входят непроверяемые (которые называются unchecked) исключения, которые сигнализируют о серьёзных, системных ошибках приложения, в этом случае Java машина может не отвечать или работать неправильно;
- exception – отвечает за все проверяемые (которые обозначаются checked) исключения и ошибки возникающие во время выполнения (класс RuntimeException).
Несистемные непроверяемые исключения (то есть unchecked), происходят от класса RuntimeExcepton и считаются его наследниками.
Таким образом все проверяемые исключения (или checked) наследуются Excepton, а unchecked могут наследоваться как от класса error (системные), так и от RuntimeExcepton.
Бесплатные Telegram-боты для обучения
Практика с проверкой кода и помощью ИИ-ментора
AndroidSprint AI Mentor
Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7
Попробовать ИИ-ментора →KotlinSprint Bot
22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью
Начать обучение Kotlin →