CALL 操作自体が失敗した場合には、CALL ステートメントに関する例外条件が生じます。 たとえば、システムがストレージ不足か、または呼び出し先プログラムを見つけられない場合があります。 この場合、CALL ステートメントに ON EXCEPTION 文節または ON OVERFLOW 文節がないと、アプリケーションが異常終了することがあります。 ON EXCEPTION 文節か ON OVERFLOW 文節を使用することによって、 例外条件を検出して、異常終了しないようにし、独自のエラー処理ルーチンを実行することができます。 たとえば、
CALL "REPORTA" IN LIBRARY "MYLIB" ON EXCEPTION DISPLAY "Program REPORTA not available." END-CALL
プログラム REPORTA が使用できない場合、またはライブラリー MYLIB にない場合は、ON EXCEPTION 文節で制御が続行します。
ON EXCEPTION 句および ON OVERFLOW 句は、CALL 操作自体のエラーによる例外しか処理しません。
CALL 操作によって通知される ON EXCEPTION 条件は、優先順位 130 で登録されている異常事態処理ルーチンによって処理されます。 この優先順位では、CALL ステートメントの存在する特定の呼び出しスタック項目に通知される条件だけが処理されます。 この優先順位では、ユーザー作成の異常事態処理ルーチンが、通知された条件を参照する機会がなくなることがあります。
アプリケーションの中の CALL ステートメントに ON EXCEPTION 句および ON OVERFLOW 句がない場合に、CALL ステートメントが失敗すると、例外は ILE 条件処理で処理されます。 ILE 条件処理の概要については ILE 条件処理を参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.