и его потомки представляют собой
Заметим, что тип Exception и его потомки представляют собой исключение из правила, предписывающего все объектные типы именовать с буквы Т.
Потомки
Exception начинаются с Е, например EZeroDivide.
Для экономии места потомки нескольких важных объектов не показаны. Ниже приведены табл. 3.1—3.3, содержащие описания этих групп исключительных ситуаций.
Вы можете самостоятельно инициировать исключительную ситуацию при выполнении тех или иных действий. Но, хотя синтаксис конструктора объекта Exception похож на конструкторы всех других объектов, создается он по- особенному.
Рис. 3.1. Дерево объектов исключительных ситуаций Delphi 7
Таблица 3.1. Исключительные ситуации при работе с памятью (порождены
от
EHeapException)
Тип
|
Условие возникновения
|
EOutOfMemory
|
Недостаточно места в куче (памяти)
|
EOutOfResources
|
Нехватка системных ресурсов
|
EInvalidPointer
|
Недопустимый указатель (обычно nil)
|
Таблица 3.2. Исключительные ситуации целочисленной математики (порождены от
EIntError)
Тип
|
Условие возникновения
|
EDivByZero
|
Попытка деления на ноль (целое число)
|
ERangeError
|
Число или выражение выходит за допустимый диапазон
|
EIntOverflow
|
Целочисленное переполнение
|
Таблица 3.3. Исключительные ситуации математики с плавающей точкой (порождены от EMa thError)
Тип
|
Условие возникновения
|
EInvalidOp
|
Неверная операция
|
EZeroDivide
|
Попытка деления на ноль
|
EOverflow
|
Переполнение с плавающей точкой
|
EUnderflow
|
Исчезновение порядка
|
EInvalidArgument
|
Неверный аргумент математических функций
|
Для этого используется оператор raise, за которым в качестве параметра должен идти экземпляр объекта типа Exception. Обычно сразу за оператором следует конструктор класса ИС:
raise EMathError.Create(' ') ;
но можно и разделить создание и возбуждение исключительной ситуации:
var E: EMathError;
begin
E := EMathError.Create С');
raise E;
end;
Оператор raise передает созданную исключительную ситуацию ближайшему блоку try. .except (см. ниже).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий