Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Стандартные классы исключений

Защищенные блоки | Finally | Создание собственного класса | while notEOF(F) do |


Читайте также:
  1. Абсолютные и относительные методы анализа. Градуировка. Образцы сравнения и стандартные образцы
  2. Аэробные классы
  3. Базовые и производные классы.
  4. Ваших детей ждет мягкий конструктор, сухой бассейн, игры и конкурсы, увлекательные мастер классы. Ну и не обойтись без аквагрима!
  5. возрастная категория 3-4 классы
  6. Выставки, лекции, мастер-классы, вернисаж, презентации новых проектов развернутся на различных площадках в пределах всего Невского проспекта.
  7. Гетерогенные (неоднородные) классы

В Delphi определены стандартные классы исключений (см. приложение Б). Именно эти имена, а также имена пользовательских классов (см. ниже) могут применяться в обработчиках исключений.

Важно помнить, что управление передается самому первому обработчику (воз­можно существование нескольких обработчиков), класс которого способен обра­батывать данное исключение. Если, например, в списке первым стоит класс EAbort, который может обработать любое исключение, ни один из стоящих за ним обра­ботчиков никогда не получит управления. Точно также, если указан обработчик для класса EIntError, за ним бесполезно размещать обработчики EDivByZero, ERangeError или ElntOverflow.

Try

...

Except

// Не имеет смысла делать так:

оn EIntError do...;

оn ERangeError do...;

оn EDivByZero do...;

// Надо так:

оn ERangeError do...;­

оn EDivByZero do...;

оn EIntError do...;

end;

 

При возникновении исключительной ситуации объекты классов-обработчиков - создаются и уничтожаются автоматически. Если программист пожелает исполь­зовать поля или методы класса-обработчика явно, он должен поименовать автома­тически создаваемый объект. Для этого перед именем класса ставится идентифи­катор и двоеточие:

 

оn EObject: EClassName do..;

 

Для стандартных классов такой прием фактически позволяет использовать единственное строковое свойство Message со стандартным сообщением об ошиб­ке, которое получают все наследники класса Exception. Исключение составляет класс EInOutError, в котором для программиста может представлять интерес целочисленное свойство ErrorCode с кодом ошибки ввода-вывода. Например:

 

Try

Reset(F);


Дата добавления: 2015-07-19; просмотров: 47 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Класс Exception| While not EOF(F) do begin

mybiblioteka.su - 2015-2024 год. (0.131 сек.)