1. REVERTステートメント
REVERTステートメントは、ONステートメントを使用して登録したONユニットを取り消します。
| 項目 | 説明 |
|---|---|
condition |
1つ以上の条件を指定します。条件については、条件タイプを参照してください。 |
REVERTステートメントは、現在のブロックあるいはプロシージャに登録されているONユニットを取り消します。現在のブロックあるいはプロシージャに登録されているONユニットがない場合、REVERTステートメントは実行されません。上位ブロックあるいはプロシージャで登録したONユニットは取り消すことができません。
以下は、REVERTステートメントを使用して、登録したONユニットを取り消す例です。
ON ZERODIVIDE
BEGIN;
DISPLAY('ZERODIVIDE condition raised');
END;
REVERT ZERODIVIDE;
A = B / 0;
「A = B / 0;」によってZERODIVIDE条件が起こっても、ONステートメントに登録したONユニットがREVERTステートメントによって取り消されたため、そのONユニットは実行されません。現在登録されているONユニットがない場合、条件の特性によってデフォルトの処置を取ります。ここでは、ERROR条件を発生させるか、プログラムの実行を続行します。ZERODIVIDE条件は、デフォルトの処置としてERROR条件を発生させます。