Как дела, Sergey ?
Мои бортовые системы запеленговали, что в Вторник Октябрь 28 1997 01:22,
Sergey Gavrilenko писал All:
SG> Так вопрос в том:
SG> как можно перехватить ошибку, обработать ее, а затем
SG> _ВЕРHУТЬ УПРАВЛЕНИЕ НА МЕСТО СБОЯ_ ?
SG> т.е. скажем затребовать у юзера диск обратно и мирно продолжить
SG> сортировку.
После считывания или записи ВСЕГДА проверяй как прошла операция!
Для этого есть в паскале ключик {$I-} и {$I+}
Пример
Var IoRes : Integer;
f : File of text;
Procedure Error(IO:Integer);
Begin
Writeln('Произошла ошибка #',IO);
Readln;
End;
BEGIN
Assign(F,'c:\temp\example.txt');
Repeat
{$I-}
Reset(F);
IoRes:=IOResult;
{$I+}
If IoRes<>0 then Error(IoRes);
Until IoRes=0;
{$I-}
Write(F,'Hello world!');
IORes:=IOResult;
{$I+}
If IoRes<>0 then Error(IORes);
END.
За сим разрешите откланяться, с уважением, Dmitry Mazin.
--- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС UNREG
* Origin: Программу циклом не испортишь (2:5085/32.50)
|