1. REVERT statement
REVERT statement는 ON statement를 사용하여 등록한 ON-unit을 해제한다.
| 항목 | 설명 |
|---|---|
condition |
하나 이상의 조건을 지정한다. 조건에 대한 설명은 조건 종류를 참고한다. |
REVERT statement는 현재 블록이나 프러시저에 등록된 ON-unit을 해제하며, 현재 블록이나 프러시저에 등록된 ON-unit이 없을 경우 REVERT statement는 수행되지 않는다. 상위 블록이나 프러시저에서 등록한 ON-unit은 해제할 수 없다.
다음은 REVERT statement를 이용하여 등록한 ON-unit을 해제하는 예제이다.
ON ZERODIVIDE
BEGIN;
DISPLAY('ZERODIVIDE condition raised');
END;
REVERT ZERODIVIDE;
A = B / 0;
"A = B / 0;" 구문에 의해 ZERODIVIDE 조건이 발생하지만, ON statement로 등록한 ON-unit이 REVERT statement로 해제되어 해당 ON-unit은 수행되지 않는다. 현재 등록되어 있는 ON-unit이 없을 경우 조건 특성에 따라 default action을 수행하는데, ERROR 조건을 발생시키거나 프로그램 수행을 계속한다. ZERODIVIDE는 default action으로 ERROR 조건을 발생시킨다.