1. Источник аномалии.
В приложении Delphi в следующих ситуациях с большей вероятностью генерируют исключения.
(1) Обработка файлов
(2) распределение памяти
(3) Ресурсы Windows
(4) Создать объекты и формы во время выполнения.
(5) Конфликт аппаратной и операционной системы
?
2. Обработка исключений.
(1) Попробуйте ... кроме ... конец ;
Когда происходит исключение в коде в корпусе TRY, система обратится к тому, что кроме части для обработки исключений. Это один из самых основных способов, которыми Delphi занимается исключениями.
?
(2) Попробуйте ... наконец ... конец ;
Эта структура обработки исключений обычно используется для защиты распределения ресурсов Windows и других аспектов.
В отличие от попытки ... кроме ... конец, наконец -то часть структуры всегда выполняется.
?
(3) Нет никакой попытки ... кроме ... наконец ... конечная структура для обработки исключений и защиты структур распределения ресурсов. Наконец ... конечная структура, тем самым осознавая обработку исключений.
?
?
3. Точная обработка исключений.
(1) Определите исключение.
В Delphi каждое исключение представляет собой полученный класс [2] класса исключения [1] . Следовательно, определение исключения - это определение полученного класса класса исключений.
тип emyexception = class (исключение);
Конечно, базовый класс может быть исключением или любого уровня исключения.
?
(2) бросить исключение в программу.
Бросить исключения в соответствии с различными ситуациями является самым основным способом использования исключений. В Delphi он реализован в соответствии с оператором Rais .
[Синтаксис] повысить exception class.create («Описание исключения по умолчанию»);
?
(3) Поймайте исключения более точно в Try ... кроме ... конец.
Используйте структуру on E: Exception Class Do ... для обработки исключений, брошенных определенным классом исключений в теле.
?
4. Отладка исключения.
В Delphi IDE снимите статус проверки флажки интегрированной отладки в «Параметры отладчика» (вы можете использовать инструменты меню -> Параметры отладчика… для доступа к нему).
?
5. Дополнительное объяснение аномалий.
(1) Каждая программа может создавать ошибки! Это бесспорное явление и закон в индустрии программного обеспечения. Фактически, традиционная, если ... иначе структура может полностью решить все ошибки.
Ответ ясен: исключения обеспечивают более гибкий и открытый путь, позволяя более поздним программистам справиться с этой ошибкой на основе фактических условий, а не использования результатов предварительной обработки. На самом деле, я думаю, что это ядро механизма исключения.
[1] Определение класса исключений находится в единице Sysutils.
[2] Delphi также поддерживает классы исключений, которые не наследуют от исключения, но я не думаю, что это очень разумно сделать.