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

Класс Throwable самый главный. Два наследника класса: один из них — класс Ехception — используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя, другой - класс Error, который предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.

Неперехваченные исключения.

Некоторые объекты-исключения автоматически создаются исполняющей средой Java в результате возникновения определенных исключительных состояний (деление на нуль). Кроме того, исключения могут создаваться программистом с помощью оператора throw. Если для типа исключения не присутствует блок catch, то такое исключение прихватывается и обрабатывается стандартным обработчиком Javа, который как правило диагностирует исключение и выводит системный программный стек.

Вложенные операторы try.

Операторы try могут быть вложенными. Вложенность может быть явной (охраняемый код try-блока содержит оператор try) и не явной (охраняемый код содержит вызов методов, содержащих внутри себя конструкции trycatch-throw-finally). При этом следует помнить, что, если в непосредственно следующих за try-блоком блоках catch,не будет найден подходящий обработчик, то поиск продолжается в вызывающем методе и так далее вверх по стеку.

Методы с ключевым словом throws.

Если метод способен к порождению исключения, которое им не обрабатывается, он должен сообщить о типах этих исключений в заголовке метода (сигнатуре) с помощью ключевого слова throws.

Встроенные исключения.

Встроенные исключения определены в пакете java.lang, который неявно импортирован во все java-программы. Большинство из них являются производными класса RuntimeException, который расширяет класс Exception. Все эти исключения называются неконтролируемыми исключениями(unchecked)java, они неявно включаются в списки throws всех методов.

Кроме того, есть контролируемые (checked) исключения, применение которых требует их указания в списке throws.

Создание собственных подклассов исключений.

Собственные пользовательские исключения, определяются как подкласс класса Exception. Класс Exception не определяет своих методов, а наследует их от класса Throwable. Собственный классисключение может переопределить эти методы.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: