Hibakezelés
Turbo Pascalban nincs lehetőségünk a futás
közbeni hibák lekezelésére, egyedül fájlműveletek
hibái esetében. A $I fordítási direktíva
szabályozza, hogy valamely I/O hiba futás közbeni hibát
generáljon-e. Kikapcsolt állapotban programunk nem áll
meg hibaüzenettel és az IOResult függvény segítségével
megkaphatjuk az utolsó I/O művelet eredményének
sikerességét. (IOResult=0, ha nem volt hiba, egyébként
a hiba okáról szolgáltat információt).
Példa:
{$I-}
uses dos;
var
t : text;
s: string;
procedure CheckIOResult (action:string);
begin
if IOResult<>0 then
begin
writeln('*** Hiba a megadott állomány '+action+'!
Hibakód: '+IOResult);
halt;
end;
end;
begin
if paramcount<>1 then
begin
writeln('Kérem adja meg paraméterként a listázandó
fájl nevét!');
halt;
end;
if fsearch(paramstr(1),'')='' then
begin
writeln('Nem találom a megadott állományt!');
halt;
end;
assign(t,paramstr(1));
reset(t);
CheckIOResult('megnyitásakor');
while not eof(t) do
begin
readln(t,s);
CheckIOResult('olvasásakor');
writeln(s);
end;
close(t);
CheckIOResult('bezárásakor');
end.