Типы исключений


Все типы исключений являются подклассами встроенного класса Trowable. То есть Trowable расположен на вершине иерархии классов исключений. Немедленно под Trowable в ней находятся два подкласса, которые разделяют все исключения на две отдельные ветви. Одну ветвь возглавляет Exception. Этот класс используется для исключительных условий, которые пользовательская программа должна перехватывать. Это также класс, от которого вы будете наследовать свои подклассы при создании ваших собственных типов исключений. У класса Exception имеется важный подкласс по имени RuntimeException. Исключения этого типа автоматически определяются для программ, которые вы пишете, и включают такие вещи, как деление на ноль и ошибочная индексация массивов.
Другая ветвь начинается с класса Error, определяющего исключения, вызов которых не ожидается при нормальном выполнении программы. Исключения типа Error используются системой времени выполнения Java для обозначения ошибок, происходящих внутри самой окружения. Примером такой ошибки может служить переполнение стека. В этой главе не рассматриваются исключения типа Error, поскольку они обычно создаются в ответ на катастрофические сбои, которые не могут быть обработаны вашей программой.