[例外処理]
◆例外処理
◎書式1
try
実行文1;
except
実行文2;
end
◎書式2
try
実行文1;
finaly
実行文2;
end
◎書式3
try
try
実行文1;
except
実行文2;
end
finaly
実行文3;
end
try節でExit分を呼び出すと、finaly節が実行されます
◆例外クラス
発生した例外の種類に応じて処理を分岐させることができます
例外内容 | 例外クラス |
メモリ不足 | EOutMemory |
入出力エラー | EInOutError |
整数値を0で除算 | EDivByZero |
実数値を0で除算 | EZeroDivide |
実数値でオーバーフロー | EOverflow |
無効な数値演算(負の数の平方根など) | EInvalidOp |
変換エラー | EConvertError |
無効なアドレスへのアクセス | EAccessViolation |
無効なポインタの解放 | EInvalidPointer |
キャスト失敗 | EInvalidCast |
スタックオーバーフロー | EStackOverflow |
0除算の例外処理です
Program tips0046;
{$APPLTYPE CONSOLE}
var
a,b,c:Integer;
begin
a:=3; b:=0;
try
c:=a/b;
WrileLn(a,'/',b,'=',c);
except
on EDivByZero do
WriteLn('0で除算しました。')
else
WriteLn('その他のエラーです。')
end
end.
Copyright c 2009, ohishi,All rights reserved.