Обработка ошибок ввода-вывода


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

Можно предусмотреть в самой программе реакцию на ошибочные ситуации. Для этого используется директива компилятора {$I-}. В этом случае возникновение ошибки не будет приводить к немедленному завершению программы, а код этой ошибки будет запомнен в качестве значения стандартной функции IOResult без параметров. При отсутствии ошибок значение этой функции равно нулю. Например:

...

Writeln (' Введите имя файла');

Read (NameFil);

Assign (Fil,NameFil);

{$I-} { автоматический контроль отключен }

Reset (Fil);

Code:=IOResult;

If Code <> 0 Then Begin

Write ('Ошибка при открытии файла ',

NameFil,': ');

Case Code of

2: Writeln ('файл не найден');

3: Writeln ('путь к файлу не найден');

4: Writeln ('слишком много открытых файлов');

5: Writeln ('доступ закрыт');

6: Writeln ('нарушена информация в полях файла или системных областях');

8: Writeln ('недостаточно памяти');

10: Writeln ('несовместимые параметры окружения');

11: Writeln ('нераспознанный формат диска');

else

Writeln ('нераспознана');

end;

Exit;

end;

{$I+} { автоматический контроль включен }

...

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

Специальные операции

Эта группа операций предназначена для действий с элементами файловой системы ОС – каталогами и файлами. К ней относятся следующие процедуры:

· удаление файла на диске

Erase (< имя_файловой_переменной >);

· переименование файла

Rename (< имя_файловой_переменной >, <строка>);

· установка текущего каталога

ChDir;

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

MkDir (<имя_подкаталога>);

· удаление пустого подкаталога

RmDir (<имя_подкаталога>);

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



Дата добавления: 2016-06-29; просмотров: 2066;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.