Шаг 13.
Средства отладки программ. Функция IOResult

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

    Однако Borland Pascal не имеет таких развитых средств программной обработки ошибок, которые присущи большинству современных языков программирования. Но ошибки одного типа, а именно ошибки ввода/вывода, можно обрабатывать программно.

    При записи информации на диск существует вероятность возникновения ошибок ввода/вывода: отсутствие диска в дисководе, обращение к несуществующему файлу и т.д.

    Для программного контроля за выполнением этих операций можно использовать стандартную функцию IOResult без параметров. Значение этой функции равно 0, если операция ввода/вывода прошла успешно. В противном случае ее значение отлично от 0.

    Рассмотрим правила обработки ошибочных ситуаций. По умолчанию при выполнении операций ввода/вывода автоматически производится контроль за возникновением ошибки. Если ошибка обнаружена, то выполнение программы прекращается, а на экран дисплея выводится краткое диагностическое сообщение, объясняющее суть ошибки.

    Для программной обработки ошибки ввода/вывода нужно отключить контроль за выполнением операций директивой компилятору {$I-}. Затем выполнить "подозрительное" действие и снова включить контроль за выполнением операций директивой {$I+}. Далее сразу же необходимо проверить значение функции IOResult.

    Пример: составить программу удаления файла с диска с использованием функции IOResult.

Program Delete;
Var
  KF: File Of Char;
Begin
  Assign(KF,'MYFILE.DOC');
 {$i-} {Отключаем контроль за выполнением операций.}
  Erase(KF); {Выполняем "подозрительное" действие.}
 {$i+} {Включаем контроль за выполнением операций.}
  If not (IOResult=0)  Then 
      WriteLn ('ОШИБКА ПРИ УНИЧТОЖЕНИИ ФАЙЛА');
End.
Текст этой программы можно взять здесь.

    В результате работы этой программы на экран будет выдано сообщение "ОШИБКА ПРИ УНИЧТОЖЕНИИ ФАЙЛА", если файла с именем MYFILE.DOC на диске нет. В противном случае файл MYFILE.DOC будет с диска удален.


    Мы закончили рассматривать средства отладки. Следующий шаг содержит небольшой список операций и функций, которые можно использовать при составлении Pascal-программы.


Предыдущий шаг Содержание Следующий шаг