В Java, иерархия исключений начинается с класса Throwable. Throwable имеет два подкласса: Error и Exception.
Error представляет собой ошибки, которые происходят во время выполнения приложения, которые не могут быть обработаны программистом. Некоторые примеры таких ошибок включают в себя OutOfMemoryError, StackOverflowError и InternalError.
Exception - это класс, который представляет исключения, которые могут быть обработаны программистом. Он имеет несколько подклассов, включая RuntimeException и IOException.
RuntimeException является подклассом Exception, который описывает ошибки, которые могут быть обнаружены только во время выполнения программы, такие как NullPointerException или ArrayIndexOutOfBoundsException.
IOException - это подкласс Exception, который описывает ошибки, связанные с вводом/выводом, такие как FileNotFoundException.
Throwable также имеет два дополнительных подкласса: Checked и Unchecked. Checked является подклассом Exception и представляет проверяемые исключения, которые должны быть обработаны программистом, а Unchecked - это RuntimeException и его подклассы, которые не требуют обработки при компиляции кода.
При создании своих собственных классов исключений, вы можете наследовать как от класса Exception, так и от класса RuntimeException, чтобы создавать свои собственные типы исключений в Java.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov