Стандартные классы исключений
16.1.3. Стандартные классы исключений
В 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" > |