В Delphi определены стандартные классы исключений, перечисленные в табл. 16.1. Именно эти имена, а также имена пользовательских классов (см. п. 16.1.5) могут использоваться в обработчиках исключении.
Таблица 16.1
Класс | Родитель | Обрабатываемое исключение |
EAbort | Exception | Реализует “тихую” (без какого-либо сообщения) обработку любого исключения |
EAbstractErrpr | Exception | Программа пытается вызвать абстрактный метод |
EAccessViolation | Exception | Программа пыталась обратиться к не принадлежащей ей области памяти или использует недействительный указатель |
EAppletException | Exception | Ошибка связана с созданием управляющих панелей в апплет-приложениях |
EArrayError | Exception | Возникает из-за различного рода ошибок при работе с массивами (неверный индекс, попытка вставить элемент в массив фиксированной длины или в отсортированный массив и т. п.) |
EAssertionFaild | Exception | Возбуждается отладочной процедурой Assert, когда тстируемое ею логическое выражение имеет значение False. |
EBitsError | Exception | Программа пыталась обратиться к свойству Bits объекта TBits с индексом меньше нуля или больше максимально допустимого значения |
EBrokerException | Exception | Объект-брокер не может найти сервер |
ECacheError | Exception | Ошибка в наборе данных для компонента Tde-cisionCube |
EClassNotFound | EFilerError | Для компонента, читаемого из потока данных, не найден соответствующий класс. Обычно возникает"в случае, когда в форму вставлен нестандартный компонент, а в библиотеке компонентов Delphi нет связанного с ним класса |
ECommonCalendar-Error | Exception | Возникает в объектах класса TCommonCalendar и его потомках, когда вводится неверная дата |
EComponentError | Exception | Возникает при различных манипуляциях программы с компонентом (программа не может зарегистрировать компонент, переименовать его или когда для его работы требуется интерфейс СОМ, который компонентом не поддерживается) |
EControlC | Exception | Возникает при нажатии Ctrl-C при работе приложения в режиме консолиЛ |
EConvertError | Exception | Ошибка преобразования в функциях StrToint или StrToFloat |
ECorbaDispatch | Exception | Возникает в программах, использующих технологию corba, при ошибках, связанных с несовпадением интерфейсов сервера и брокера данных |
ECorbaException | Exception | Возникает в программах, использующих технологию CORBA |
ECorbaUser-Exception | ECorbaException | Возникает как определяемая пользователем реакция на ошибки интерфейса |
EDatabaseError | Exception | Возникает, когда компонент обнаруживает ошибку в базе данных |
EDateTimeError | Exception | Возбуждается компонентом TDateTimePicker при попытке ввода неверной даты или времени |
EDBClient | EDatabaseError | Ошибка связана с неправильной работой Tcli-entDataSet |
EDBEditError | Exception | Возникает, когда компонент пытается использовать данные, несовместимые с заданной маской |
EDBEngineError | EDatabaseError | Связана с ошибками BDE |
EDimensionMar-Error | Exception | Возникает, когда используемый в кубе решений набор данных не имеет агрегатных полей |
EDimIndexError | Exception | Связана с нарушением размерности массива данных для куба решений |
EDivByZero | EIntError | Ошибка целочисленного деления на ноль |
EDSWriter | Exception | Ошибка при подготовке провайдером пакета данных для набора данных |
EExternal-Exception | EStream-Error | Возникла ошибка, код которой не является предопределенным в Delphi |
EFCreateError | EStream-Error | Ошибка при создании файла. Например, попытка создать файл на устройстве, предназначенном только для чтения, или в несуществующем каталоге |
EFilerError | EStream-Error | Программа пытается повторно зарегистрировать в потоке один и тот же класс |
EFOpenError | EStream-Error | Ошибка открытия потока данных. Например, попытка открыть несуществующий файл |
EHeapException | Exception | Ошибка связана с неправильными операциями над динамической памятью |
ElBClientError | ElBError | Ошибка связана с функционированием IBX-клиента |
ElBError | EDatabaseError | Общая ошибка технологии IBX |
ElBInterbase-Error | ElBError | Ошибка связана с функционированием сервера в технологии IBX |
EInOutError | Exception | Любая ошибка в файловых операциях. Поле ErrorCode объекта этого класса содержит код ошибки |
EInterpreterError | Exception | Возникает, когда компонент класса TDataBlockinterpeter не может интерпретировать данные блока данных |
EIntError | Exception | Любая ошибка в целочисленных вычислениях |
EIntfCastError | Exception | Попытка недопустимого приведения типов в OLE-объектах |
EIntOverflow | EIntError | Ошибка целочисленного переполнения: программа пытается присвоить целочисленной переменной значение, выходящее из 32-двоичных разрядов |
EInva1i dArgument | EMatchError | Возбуждается математическими функциями при выходе аргумента из допустимого диапазона |
EInvalidCast | Exception | Программа пытается осуществить недопустимое преобразование типов с помощью оператора as |
EInvalidGraphic | Exception | Программа пытается загрузить в контейнер изображение из файла, который имеет недопустимый формат (допустимыми форматами являются растр, метафайл, курсор, пиктограмма) |
EInvalidGraphic-Operation | Exception | Программа пытается выполнить недопустимую графическую операцию |
EInvalidGrid-Operation | Exception | Программа пытается выполнить недопустимую операцию над таблицей (например, обратиться к несуществующему столбцу или РЯДУ) |
EInvalidImage | EFilerError | Программа пытается прочитать ресурс изображения из файла, в котором этого ресурса нет |
EInvalidOp | EMatchError | Ошибка в операциях с плавающей точкой (недопустимая инструкция, переполнение стека сопроцессора и т. п.) |
EInvalidOpera-tion | Exception | Не имеющий окна компонент пытается выполнить операцию, требующую дескриптора окна |
EInvalidPointer | EHeap-Exception | Попытка использовать недействительный указатель |
EListError | Exception | Эта ошибка связана с неверными действиями программы по отношению к разного рода спискам. Например обращение к элементу списка с индексом меньше нуля или больше максимально допустимого |
ELowCapacity-Error | Exception | Ошибка возникает при попытке выделения памяти на устройстве, у которого нет нужной свободной памяти. |
EMatchError | Exception | Любая ошибка при выполнении вычислений с плавающей точкой. |
EMenu.gif" > |