Учебник по Delphi

Обработка ошибок.

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

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

   Для обработки ошибок при работе с файлами существует функция lOResult, которая возвращает код ошибки последней операции с файлами. Если ошибка не произошла, то возвращается нуль.

   При использовании lOResult нужно отключать встроенный обработчик ошибок ввода-вывода. В этом деле поможет директива ($!-}. Соответственно, после вызова lOResult встроенный обработчик ошибок неплохо бы включать. Для этого существует директива {$! + }. Ошибки при работе с файлом обрабатываются следующим образом.

Листинг 8.22
procedure TForml.ButtonlCI ick(Sender: TObject);
var
F:File;
begin
AssignFi le(F,ourfile.dat);
{$(-}
Reset(F);
{$!+}
if lOResultoO then
begin
ShowMessage(VBbi и ах, файл открыть не удалось. ..);
Exit;
end;

{здесь находится блок работы с файлом}
C-loseFile(F);
end;

   Соответственно, таким же образом обрабатывать события можно не только при открытии файла (Rewrite, Reset), но также при его чтении и записи.




 

Рейтинг@Mail.ru          Rambler's Top100

X-ZiBiT