COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

22.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.
  1. RAISE文によって例外が引き起こされ,最新例外状態が更新されます。
  2. 1.で発生した最新例外状態の内容がDISPLAY文によって出力されます。例外が発生した文の名前として「RAISE」が,最新例外状態の例外名として「EC-OVERFLOW-STRING」が,それぞれ出力されます。
  3. SET文によって,1.で設定された最新例外状態がクリアされます。
  4. 2.と同様,最新例外状態の内容がDISPLAY文によって出力されます。3.のSET文によって最新例外状態がクリアされているため,例外が発生した文の名前,および最新例外状態の例外名には,それぞれ空白が出力されます。