1. REVERTステートメント

REVERTステートメントは、ONステートメントを使用して登録したONユニットを取り消します。

figure syntax revert
項目 説明

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条件を発生させます。