https://github.com/DEBAGanov/interview_questions/blob/main/images/exception.png Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable. Его потомками являются подклассы Exception и Error. Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемы и предсказуемы. Например, произошло деление на ноль в целых числах. Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует пытаться обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память, доступная виртуальной машине. Программа дополнительную память всё равно не сможет обеспечить для JVM. Исключения в Java делятся на два типа: проверяемые и непроверяемые (unchecked). Проверяемые исключения – это те, которые могут возникнуть при выполнении блока кода, и для их обработки требуется явно указывать блок try-catch или передавать и