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

Создание собственного класса

Защищенные блоки | Finally | Класс Exception | Стандартные классы исключений |


Читайте также:
  1. I. Создание таблицы в режиме конструктора
  2. II.2 Создание простых запросов с группированием данных в режиме конструктора
  3. III. Создание таблицы БД путем импорта данных из таблицы MS Excel
  4. IV. Создание запросов на выборку в режиме конструктора
  5. IV. Создание образа убийцы
  6. Атрибуты класса
  7. Б. Характеристика класса рептилий

Программист может создать собственный класс обработки исключений, объявив его потомком Exception или любого другого стандартного класса (этим другим чаще всего бывает класс EAbort). Объявление нестандартного класса имеет смысл только тогда, когда вам необходимо научить программу распознавать некорректные наборы данных и соответствующим образом на них реагировать.

Пусть, например, в программе используется цикл ввода целочисленных значе­ний из текстового файла, их проверки и преобразования. Проверка заключается в простом контроле неотрицательности очередного числа после ввода и его поло­жительности после преобразования. Перед проверкой необходимо получить стро­ку из файла (здесь может возникнуть ошибка EInOutError) и преобразовать ее в целую величину (здесь возможна ошибка EConvertError); после проверки осу­ществляется обработка величины, в процессе которой может возникнуть ошибка EIntError.

Создадим новый класс EIntCheckError и будем возбуждать исключение этого класса приобнаружении ошибки в данных:

Type

EIntCheckError = class (EAbort)

end;

Var

F: TextFile;

S: String;

k: Integer;

Begin

...

Try

// Готовимся к работе: открываем файл

AssignFile(F, FileName);

Reset(F); // Здесь возможна ошибка EInOutError

// Цикл ввода-контроля-преобразования


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


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

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