A Pascal nyelv

Hibakezelés

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.