Обработка исключительных ситуаций 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обработка исключительных ситуаций



Исключения

При работе программы могут возникать исключительные ситуации, связанные с различными ошибками в программе (деление на нуль, пе­ре­пол­нения,...) или сбоями в работе устройств (ошибки при чтении или записи в файл,...). В таких ситуациях генерируется временный специаль­ный объект - исключение, который определяет и детализирует возникшую исключительную ситуацию. Если исключение в программе не перех­ва­ты­вает­ся, то метод Tapplication.HandleException выдает в окне сообщения крат­кую информацию, и обычно программа заканчивает свою работу ава­рий­но (системный обработчик). Исключения сгруппированы в иерархию клас­­сов различных уровней. Исключение родительского класса пе­рехва­тывает исключения потомков (непосред­ственно ниже­стоящих классов).

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

Базовым классом для всех исключений является Exception.

Приведем список имен классов исключений, выделяя отступами подчиненность классов.

Eabort- искусственное исключение, вызываемое процедурой Abort.

EabstractError ‑ попытка вызвать абстрактный метод.

EAccessViolation ‑ ошибочный доступ к памяти.

EArrayError ‑ ошибка в индексе элемента массива.

EAssertionFailed ‑ ложное условие, проверяемое процедурой Assert (п.1.7.9)

EBitsError ‑ ошибка доступа к массиву логических величин TBits.

ECacheError ‑ ошибка построения кэша куба решений.

EComponentError ‑ ошибка в регистрации или переименовании компонент.

EControlC ‑ нажатие пользователем клавиш Ctrl+C.

EConvertError ‑ ошибка преобразований строк (StrToInt,...) или объектов.

EDatabaseError ‑ ошибка при работе с базами данных.

EDBClient ‑ ошибка в наборе данных. В ErrorCode ‑ код ошибки.

EReconcileError ‑ ошибка в обновлении данных компонента TClientDataset (п. 4.10.1).

EBDEngineError ‑ ошибка в BDE. Свойство Errors ‑ сообщение об ошибке.

ENoResultError ‑ открытие запроса без оператора Select.

EUpdateError ‑ ошибка при обновлении в TProvider.

EDateTimeError ‑ ошибка ввода даты или времени при использовании компонента TdateTimePicker (п. 2.3.2.7).

EDBEditError ‑ несоответствие данных с маской ввода.

EDimensionMapError ‑ ошибка в формате данных в кубе решений.

EDimIndexError ‑ ошибка в индексе в размерности в кубе решений.

EExternalException ‑ неизвестный код исключения.

EInOutError ‑ ошибка ввода ‑ вывода из файла. В Errorcode ‑ код ошибки.

EIntError ‑ ошибки с целочисленными операциями (п.1.3.5.2).

EDivByZero ‑ целочисленное деление на нуль.

ERangeError ‑ значение или индекс вне допустимого диапазона (п.1.3.5.2)

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

EIntfCastError ‑ ошибочное преобразование типов As к интерфейсу.

EInvalidCast ‑ ошибка преобразования типа объекта операцией As.

EInvalidGraphic ‑ нераспознанный графический файл.

EInvalidGraphicOperation ‑ ошибочная графическая операция.

EInvalidGridOperation ‑ ошибочная операция с таблицей.

EInvalidOperation ‑ ошибочная операция с компонентом.

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

EListError ‑ ошибка при работе с объектом типа списка Tlist,TstringList.

ELowCapacityError ‑ нехватка памяти для куба решений.

EMathError ‑ ошибки с операциями над вещественными числами.

EInvalidArgument ‑ запрещенное значение аргумента функции.

EInvalidOp ‑ неопределенная операция с плавающей точкой.

EOverFlow - переполнение при операции с вещественными числами.

EUnderFlow - потеря значащих разрядов при операции с числами.

EMCIDeviceError ‑ ошибка доступа к устройствам мультимедиа через MCI

EMenuError ‑ ошибка в элементах меню.

EOleCtrlError ‑ невозможность связать приложение и компонент ActiveX.

EOleError ‑ низкоуровневая ошибка OLE.

EOleSysError ‑ ошибка в интерфейсе OLE Idismatch. В ErrorCode ‑ код.

EOleException ‑ ошибка OLE, связанная с методом или свойством.

EOutLineError ‑ ошибка при работе с компонентом Outline.

EOutOfMemory ‑ ошибка при динамическом выделении памяти.

EOutOfResources ‑ нет места для размещения обработчика Windows.

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

EParserError ‑ ошибка при переводе описания формы в двоичный вид.

EPrinter ‑ ошибка при печати (нет принтера, ошибка при передаче).

Eprivilege ‑ недоступная по привилегиям команда процессора.

EPropReadOnly ‑ изменить значение только читаемого свойства.

EPropWriteOnly ‑ прочитать значение только записываемого свойства.

EPropertyError ‑ ошибка при задании значения свойства.

ERegisteryException ‑ ошибка при обращении к реестру.

EReportError ‑ ошибка задания сервера для соединения базы и Report.

EResNotFound ‑ ошибка при загрузке файла ресурсов.dfm или.res.

EStackOverFlow ‑ переполнение стека (директива компилятора{$M+}).

EStreamError ‑ ошибки потоков.

EFCreateError ‑ ошибка при создании файла (уже есть файл,...).

EFOpenError ‑ ошибка при открытии файла.

EFilerError ‑ ошибки файловых потоков.

EReadError ‑ невозможно прочитать заданное число байтов.

EWriteError ‑ невозможно записать заданное число байтов.

EClassNotFound ‑ компонент не связан с приложением.

EInvalidImage ‑ невозможно прочесть файл ресурсов.

EMethodNotFound ‑ невозможно найти реализацию метода.

EStringListError ‑ ошибка доступа к окну списка с неверным индексом.

EThread ‑ конфликт в многопоточном приложении.

ETreeViewError ‑ ошибка индекса при работе с компонентом TreeView.

EUnsupportedTypeError ‑ ошибка типа поля - размерности куба решений.

EVariantError ‑ ошибка, связанная с типом данных Variant.

EWin32Error ‑ ошибка Windows.



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 321; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.223.5.218 (0.012 с.)