21.7.3 最新例外状態のクリア
最新例外状態は,一度例外が発生したあとに処理を継続すると,次に例外が発生するまで,前の最新例外状態を示しています。前の最新例外状態を削除(クリア)するには,SET文を使用します。このとき,EXCEPTION-OBJECTも,同時にクリアされます。
SET文の詳細については,「COBOL2002 言語 標準仕様編」 「10.8.43 SET文」を参照してください。
SET文を使用して最新例外状態をクリアする例を,次に示します。
IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE. PROCEDURE DIVISION. RAISE EXCEPTION EC-OVERFLOW-STRING. *> 1. DISPLAY '-----RAISE文実行後-----'. *> 2. DISPLAY 'EXCEPTION-STATEMENT = ' FUNCTION EXCEPTION-STATEMENT. *> 2. DISPLAY 'EXCEPTION-STATUS = ' FUNCTION EXCEPTION-STATUS. *> 2. SET LAST EXCEPTION TO OFF. *> 3. DISPLAY '-----最新例外状態のクリア後-----'. *> 4. DISPLAY 'EXCEPTION-STATEMENT = ' FUNCTION EXCEPTION-STATEMENT. *> 4. DISPLAY 'EXCEPTION-STATUS = ' FUNCTION EXCEPTION-STATUS. *> 4. STOP RUN. END PROGRAM SAMPLE.
-
RAISE文によって例外が引き起こされ,最新例外状態が更新されます。
-
1.で発生した最新例外状態の内容がDISPLAY文によって出力されます。例外が発生した文の名前として「RAISE」が,最新例外状態の例外名として「EC-OVERFLOW-STRING」が,それぞれ出力されます。
-
SET文によって,1.で設定された最新例外状態がクリアされます。
-
2.と同様,最新例外状態の内容がDISPLAY文によって出力されます。3.のSET文によって最新例外状態がクリアされているため,例外が発生した文の名前,および最新例外状態の例外名には,それぞれ空白が出力されます。