Читайте также:
|
|
Реализующая иерархия классов исключений представляется:
Два непосредственных наследника класса Throwable делят иерархию подклассов исключений на две ветви. Суперкласс первой ветви – класс Ехception. Он используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя. Другая ветвь (класс Error) предназначена для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.
Пример неперехваченного исключения можно продемонстрировать на примере деления на ноль. Объекты-исключения автоматически создаются исполняющей средой Java в результате возникновения данного исключительного состояния.
Типом исключения не Exception и не Throwable. Это подкласс ArithmeticException класса Exception, поясняющий, какая ошибка возникла при выполнении программы. В следующей программе возникает та же исключительная ситуация, но не в main а функции другого класса.
В результате работы этой программы обработчик исключений исполняющей системы Java выводит содержимое всего стека вызовов.
Все такие исключения, которые создаются в методе (кроме RuntimeException, Error и их подклассов), должны быть объявлены в предложении throws в заголовке метода, для них должны быть предусмотрены блоки cath в вызывающем блоке. Формат:
Тип_метода имя_метода (список параметров) trows список исключений
исключения описаны внутри пакета java.lang, который неявно импортирован во все классы программы. Большинство исключений класса RuntineException и подклассов Exception встроены (доступны автоматически). Они не компилируются (не проверяются) компилятором и именуются неконтролируемыми исключениями.
Другие, такие как ClassNotFoundException (класс не найден), NoSuchFildException, NoSuchMothodException и др.(такой метод не существует) (контролируемые) должны быть внесены в список trows, если метод может генерировать какое-то из них, но не обрабатывает его (смотри Help).
Собственные подклассы исключений можно создавать наследованием (extends) от класса Exception, получая таким образом доступ к методам, класса Throwable.
Архитектурный домен подклассов Throwable
Cтруктура определения подкласса класса Exception:
Class MyExceptionOne exetends Exception
{объявление переменных
MyException One() {........}// конструктор для инициализации переменных: //методы класса ….
}.
Если исключение не обрабатывается в программе. То оно захватывается обработчиком по умолчанию, определенным в Java. Стандартная обработка: выдача строки, описывающей исключение и распечатка трассы, откуда произошло исключение. (фактически описание имени файла и номера строки подпрограммы и т.д.). Выдается так же тип выбрасываемого исключения.
Дата добавления: 2015-09-11; просмотров: 19 | Поможем написать вашу работу | Нарушение авторских прав |