Чем отличаются checked и unchecked исключения?
С помощью этого вопроса проверяют знание иерархии классов, используемых для обработки исключений.
Исключения checked требуется обрабатывать в блоке catсh. Исключения unchecked обрабатывать необязательно.
Базовым в иерархии классов, предназначенных для обработки исключений, является Throwable. У него есть два наследника:
- error – него входят непроверяемые (которые называются unchecked) исключения, которые сигнализируют о серьёзных, системных ошибках приложения, в этом случае Java машина может не отвечать или работать неправильно;
- exception – отвечает за все проверяемые (которые обозначаются checked) исключения и ошибки возникающие во время выполнения (класс RuntimeException).
Несистемные непроверяемые исключения (то есть unchecked), происходят от класса RuntimeExcepton и считаются его наследниками.
Таким образом все проверяемые исключения (или checked) наследуются Excepton, а unchecked могут наследоваться как от класса error (системные), так и от RuntimeExcepton.
Портфолио из реальных проектов
Обучающая платформа AndroidSprint
Создавайте проекты с первых недель. Telegram-бот, Android-приложение, Backend API — всё на GitHub с тестами и CI/CD
- Проекты на GitHub: каждый трек даёт 3–5 работ для портфолио — показываете на собесах
- Код-ревью менторов: учитесь писать чисто и правильно — код не стыдно показать
- Production-качество: тесты, CI/CD, документация — как в продуктовых командах