ILE COBOL 解説書

USE ステートメント - 形式 1 - EXCEPTION/ERROR

EXCEPTION と ERROR は同義であり、相互に交換して使用できます。

USE ステートメント - 形式
 
>>-USE--+--------+--AFTER--+----------+--+-EXCEPTION-+---------->
        '-GLOBAL-'         '-STANDARD-'  '-ERROR-----'
 
                        .--------------.
                        V              |
>--PROCEDURE--+----+--+---ファイル名-1-+-+---------------------><
              '-ON-'  +-INPUT------------+
                      +-OUTPUT-----------+
                      +-I-O--------------+
                      '-EXTEND-----------'
 
 
ファイル名-1
すべてのファイルに対して有効です。 このオプションを指定すると、指定したファイルに対してだけプロシージャーが実行されます。 ファイル名としてソート・ファイルまたはマージ・ファイルを参照することはできません。 1 つのファイルについては、1 つの EXCEPTION/ERROR プロシージャーしか指定できません。 したがって、ファイル名の指定によって、 複数の EXCEPTION/ERROR プロシージャーの実行要求が同時に起こってはなりません。 ファイル名を指定した USE AFTER EXCEPTION/ERROR 宣言ステートメントは、 ファイルのオープン・モードを指定した宣言ステートメントよりも優先されます。

+----------------------------------IBM 拡張----------------------------------+

ファイル名句は TRANSACTION ファイルに対しても有効です。

+------------------------------End of IBM 拡張-------------------------------+

INPUT
すべてのファイルに対して有効です。 このオプションを指定すると、INPUT モードでオープンされ、エラーが生じたすべてのファイルに対してプロシージャーが実行されます。
OUTPUT
すべてのファイルに対して有効です。 このオプションを指定すると、OUTPUT モードでオープンされ、エラーが生じたすべてのファイルに対してプロシージャーが実行されます。
I-O
すべての直接アクセス・ファイルに対して有効です。 このオプションを指定すると、I-O モードでオープンされ、エラーが生じたすべてのファイルに対してプロシージャーが実行されます。

+----------------------------------IBM 拡張----------------------------------+

I-O 句は TRANSACTION ファイルに対しても有効です。

+------------------------------End of IBM 拡張-------------------------------+

EXTEND
このオプションを指定すると、EXTEND モードでオープンされ、エラーが生じたすべてのファイルに対してプロシージャーが実行されます。

EXCEPTION/ERROR プロシージャーが実行されるのは、次のいずれかのときです。

READ、WRITE、REWRITE、START、ACQUIRE、DROP、OPEN、または CLOSE ステートメントの実行中に入出力エラーが発生した場合には、EXCEPTION/ERROR プロシージャーが活動化されます。 どの条件がエラーであるかを判別するには、共通の処理機能を参照してください。

EXCEPTION/ERROR 宣言プロシージャーの実行後は、エラーの原因となった入出力ステートメントの直後のステートメントに制御が戻されます。

宣言プロシージャーの中には、非宣言プロシージャーに対する参照があってはなりません。 プログラムの非宣言部分には、EXCEPTION/ERROR 宣言プロシージャーの中で指定されているプロシージャー名に対する参照があってはなりません。 ただし、例外として、PERFORM ステートメントでは、EXCEPTION/ERROR プロシージャーまたはそれに関連付けられているプロシージャーを参照できます。

EXCEPTION/ERROR 宣言プロシージャーの中には、以前に呼び出され、 呼び出し側のルーチンへまだ制御を戻していない USE プロシージャーを実行させるステートメントを組み込むことはできません。

関連情報


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]