Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Исключения
Раздел: Как Выдать Исключения
Создание Классов исключений
Домашняя страница > Существенные Классы > Исключения

Создание Классов исключений

Когда сталкивающийся с выбором типа исключения, чтобы бросить, можно или использовать один записанный кем-то еще — платформа Java обеспечивает много классов исключений, которые можно использовать — или можно записать одно собственное. Следует записать свои собственные классы исключений, если Вы отвечаете на да на какой-либо из следующих вопросов; иначе, можно, вероятно, использовать чей-либо.

Пример

Предположите, что Вы пишете связанному списку class. class поддерживает следующие методы среди других:

Связанный список class может выдать многократные исключения, и было бы удобно быть в состоянии поймать все исключения, выданные связанным списком с одним обработчиком исключений. Кроме того, если Вы планируете распределить свой связанный список в пакете, весь связанный код должен быть упакован вместе. Таким образом связанный список должен обеспечить свой собственный набор классов исключений.

Следующее число иллюстрирует одну возможную иерархию class для исключений, выданных связанным списком.

Возможная иерархия class для исключений, выданных связанным списком.

Исключение в качестве примера иерархия class.

Выбор Суперкласса

Любой Exception подкласс может использоваться в качестве родительского class LinkedListException. Однако, быстрое прочтение тех подклассов показывает, что они являются несоответствующими, потому что они или слишком специализируются или абсолютно не связаны с LinkedListException. Поэтому, родительский class LinkedListException должен быть Exception.

Большинство апплетов и приложений, которые Вы пишете, бросят объекты, которые являются Exceptions. Errors обычно используются для серьезных, серьезных ошибок в системе, таких как те, которые препятствуют тому, чтобы JVM работала.


Отметьте: Для читаемого кода это - хорошая практика, чтобы добавить строку Exception к именам всех классов, которые наследовались (прямо или косвенно) от Exception class.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Цепочечные Исключения
Следующая страница: Исключения Непроверенные — Противоречие