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