Шаг 27.
Средства отладки в Borland Delphi 4.0. Иерархия исключений

    На этом шаге мы приведем иерархию исключений.

    Все имеющиеся в Delphi классы исключений являются наследниками класса Exception, объявленного в модуле SysUtils, наследника TObject. Приведем фрагмент иерархии наследников класса Exception.

Таблица 1. Иерархия классов исключений в Delphi
Имя класса Объяснениe
Exception Базовый класс исключений.
EAbort "Молчаливое" исключение, предназначенное для намеренного прерывания вычислений и быстрого выхода из глубоко вложенных процедур и функций. Генерируется процедурой Abort.
EArrayError Ошибка манипулирования с потомками класса TBaseArray: использование ошибочного индекса элемента массива, добавление слишком большого числа элементов в массив фиксированной длины, попытка вставки элемента в отсортированный массив.
EControlC Нажатие клавиш Ctrl+C при выполнении консольного приложения. При обработке этого исключения можно выдать запрос пользователю, действительно ли он хочет прервать работу, и предпринять действия в зависимости от ответа.
EConvertError Ошибка преобразования строк или объектов (в частности, в функциях StrToInt, StrToFloat, StrToDate).
EDatabaseError Ошибка работы с базами данных.
EDateTimeError Ошибка ввода даты или времени в компоненте TDateTimePicker.
EDBEditError Ошибка при попытке приложения использовать данные, не соответствующие заданной маске поля.
EExternalException Неизвестный код исключения.
EInOutError Ошибка ввода/вывода из файла. Поле ErrorCode содержит информацию о конкретном виде ошибки.
EDivByZero Попытка целочисленного деления на нуль.
ERangeError Целочисленное значение или индекс вне допустимого диапазона.
EIntOverflow Переполнение при операциях с целыми числами.
EOverflow Переполнение регистра при операциях с плавающей запятой.
EZeroDivide Деление на нуль числа с плавающей запятой.
EPrinter Ошибка печати (использование несуществующего принтера, задание не может быть послано на принтер).
EPropertyError Ошибка при задании значения свойства.

    В классе Exception объявлено два свойства:

    Значение свойства Message может определяться пользователем в процессе генерации исключений при использовании соответствующего конструктора исключений.

    На следующем шаге мы познакомимся с конструкторами исключений.




Предыдущий шаг Содержание Следующий шаг