Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Тема 19 Исключения.doc
Скачиваний:
46
Добавлен:
23.03.2015
Размер:
99.84 Кб
Скачать

Иерархия классов исключений в Delphi

Ниже приведена таблица иерархии некоторых предопределенных в Delphi

классов исключений с краткими пояснениями.

Exception

Базовый класс исключений

EAbort

“Молчаливое” исключение, предназначенное для намеренного прерывания вычислений и быстрого выхода из глубоко вложенных процедур и функций. Генерируется процедурой Abort.

ЕАссessViolation

Ошибочный доступ к памяти; генерируется при попытке разыменования нулевого указателя nil, попытке записи а кодовую страницу, попытке доступа к адресу вне памяти, распределенной приложению.

EControlC

Нажатие пользователем клавиш Clrl-C при выполнении консольного приложения. При обработке этого исключения можно выдать запрос пользователю, действительно ли он хочет прервать работу, и предпринять действия в зависимости от его ответа.

EConvertError

Ошибка преобразования строк или объектов (в частности, в функциях StrToInt,StrToFIoat,StrToDate).

EDatabaseError

Ошибка работы с базами данных.

EDateTimeError

Ошибка ввода даты или времени в компоненте TDateTimePicker.

EInOutError

Ошибка ввода-вывода из файла; поле errorcode содержит информацию о конкретном виде ошибки

EIntError

Базовый класс исключений целочисленных математических операций (см. директивы компилятора {$I+} и

{$I-}

EDivByZero

Попытка целочисленного деления на нуль.

ERangeError

Целочисленное значение или индекс вне допустимого

диапазона.

EIntOverflow

Переполнение при операции с целыми числами.

EInvalidCast

Ошибка преобразования типа объекта операцией as.

EInvalidOperation

Ошибочная операция с компонентом; генерируется при попытке выполнить операцию, которая требует обработчика окна, над компонентом, не имеющем родителя (свойство Parent = nil). Это исключение также генерируется при выполнении операций перетаскивания формы (например, при попытке выполнить операцию Form1.ВеginDrag) .

EInvalidPointer

Ошибочная операция с указателем.

EListError

Ошибка работы с объектом типа списка TStringList и TList: попытке сослаться на элемент с индексом вне допустимых пределов, попытке добавления дубликата строки в объект TStringList, в котором значение свойства Duplicates равно dupError, попытке вставить элемент в сортированный список, так как это может нарушить правильную последовательность элементов.

EMathError

Базовый класс исключений операций с плавающей запятой; всегда генерируются только потомки этого исключения; обработка исключения EMathError может использоваться для перехвата всех исключений операций с плавающей запятой.

EInvalidArgument

Недопустимое значение параметра при обращении к математической функции.

EInvalidOp

Неопределенная операция с плавающей запятой: процессор наталкивается на неопределенную инструкцию, ошибочную операцию или переполняется стек процессора с плавающей запятой.

EOverflow

Переполнение регистра при операциях с плавающей запятой.

EUnderflow

Потеря значащих разрядов при выполнении операции с плавающей запятой.

EZeroDivide

Деление на нуль числа с плавающей запятой.

EMenuError

Ошибка, связанная с элементами меню.

EOutOfMemory

Неудачная попытка динамически выделить память; может генерироваться процедурой OutOfMemoryError.

EPrinter

Ошибка печати; например, приложение пытается использовать принтер, которого нет, или задание по какой-то причине не может быть послано на принтер.

EStackOverflow

Переполнение стека; размеры стека можно регулировать директивами компилятора {$М}

EStream Error

Базовый класс исключений ошибок потоков.

EFCreateError

Ошибка создания файла; например, пользователь указал недопустимое имя файла или указанный файл уже существует и не может быть перезаписан, так как пользователь не обладает соответствующим уровнем доступа.

EFOpenError

Ошибка открытия файла.

EFilerError

Базовый класс исключений файловых потоков.

EWin32Error

Ошибка Windows.