[例外処理]
◆例外処理
◎書式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.