COBOL2002 ユーザーズガイド


21.5 例外の伝播

呼び出し先プログラムで検出された例外情報を,呼び出し元プログラムに伝える(以下,伝播という)ことができます。

あるプログラムで例外が引き起こされ,該当する宣言手続きがない場合,呼び出し元プログラムに例外を伝播できます。

例外の伝播の例を,次に示します。

[図データ]

  1. プログラム「PARENTPROGRAM」中のCALL文で,プログラム「CHILDPROGRAM」を呼び出します。

  2. プログラム「CHILDPROGRAM」中のDIVIDE文で,ゼロによる除算の例外が検出されます(例外名:EC-SIZE-ZERO-DIVIDE)。

  3. PROPAGATE指令がONなので,呼び出し元のCALL文に例外が伝播します。

  4. 例外の伝播によってCALL文で例外が検出され(例外名:EC-SIZE-ZERO-DIVIDE),例外が引き起こされます。これによって,例外名EC-SIZEを指定したUSE手続きへ制御が移ります。

  5. EC-SIZE-ZERO-DIVIDEは致命的な例外のため,例外宣言節の実行後,プログラムが異常終了します。

例外を伝播させる方法には,次の2種類があります。

〈この節の構成〉