COBOL2002 ユーザーズガイド

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

22.6 明示的な例外の引き起こし

COBOL2002では,明示的に例外を引き起こせます。明示的に例外を引き起こすと,ユーザプログラムが固有に定めたエラー状態を利用者定義例外として発生させたり,ある例外種別で実行される宣言手続き処理に対してユーザプログラムから明示的に例外を発生させて実行できます。これによって,宣言手続き処理を共通化できます。

共通例外処理で明示的に例外を引き起こすには,RAISE文を使用します。RAISE文にレベル3の例外名またはオブジェクト参照の一意名を指定して実行すると,指定した例外が引き起こされます。

RAISE文に指定する例外が例外名の場合,該当するTURN指令のチェックがONでなくても,例外が引き起こされます。

また,RAISE文に例外名EC-I-Oに関連する例外を指定して実行する場合,次の規則に従います。

RAISE文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.32 RAISE文」を参照してください。

RAISE文に例外名を指定して実行した場合の例を,次に示します。

 
       IDENTIFICATION DIVISION.
       PROGRAM-ID. SAMPLE.
 
       PROCEDURE DIVISION.
       DECLARATIVES.
       USE-1 SECTION.
           USE AFTER EXCEPTION CONDITION EC-USER-EXCEPTION. *> 2.
           DISPLAY 'EC-USER-EXCEPTION RAISE'.
       END DECLARATIVES.
 
           RAISE EXCEPTION EC-USER-EXCEPTION. *> 1.
 
       END PROGRAM SAMPLE.
  1. RAISE文によって,例外EC-USER-EXCEPTIONが引き起こされます。
  2. EC-USER-EXCEPTIONに対応する例外宣言手続きに処理が移り,DISPLAY文が実行されます。