Řízení chyb ve skriptu

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

Pokud dojde při vykonávání skriptu Pascal k chybě (tj. vznikne výjimka), je ve výchozím stavu další kód ignorován a je zobrazeno standardní chybové hlášení. Výjimku lze odchytit pomocí klíčových slov try-except-end, kdy lze zobrazit vlastní hlášení, popř. na chybu zareagovat libovolným jiným způsobem. V případě potřeby lze funkcí RaiseException kdykoliv vyvolat vlastní výjimku.

 

Příklad 1:

var

 N1,N2: integer;

begin

 N1 := 15;

 N2 := 0;

 if N2 <> 0 then

   OkBox('Podíl: '+IntToStr(N1 div N2))

 else

   RaiseException('Nelze dělit nulou!'); //vyvolej vlastní výjimku

 

 OkBox('Pokud není výjimka ošetřena, je tento a další kód vynechán.');

end.

 

Příklad 2:

var

 N1,N2: integer;

begin

 N1 := 15;

 N2 := 0;

 try

   OkBox('První podíl: '+IntToStr(N1 div N2));

 except

   if ExceptionClassName = 'EDivByZero' then //chyba delení nulou

     ErrorBox('Dělení nulou!')

   else

     ErrorBox(ExceptionMessage); //jiná chyba

 end;

 

 OkBox('Výjimka byla ošetřena. Kód dále pokračuje.');

end.

 

 

Související témata