ファイル例外/エラー
ファイル例外/エラーの例としては、未定義のレコード・タイプ、
トリガー・プログラムのエラー、クローズされているファイルに対する入出力操作、
装置エラー、および配列/テーブルのロード順序エラーなどがあります。 これらは、以下
のいずれかの方法によって処理することができます。
- 命令コード拡張 'E' を指定することができます。この拡張を、命令の開始前に指定すれば、%ERROR および %STATUS 組み込み関数
がゼロを戻すように設定することができます。 例外/エラーが操作中に発生した
場合、%ERROR 命令が '1' を戻した後、%STATUS がファイル状況を戻します。 任意指定の
ファイル情報データ構造は、例外/エラー情報によって更新されます。 %ERROR および %STATUS をテストすることによって、
とるべき処置を決定することができます。
- 命令コードの演算仕様書の 73 から 74 桁目に標識を指定することができます。
この標識は、指定された命令の処理中に例外/エラーが起こった場合にオンに設定されます。 任意指定のファイル情報データ構造は、
例外/エラー情報によって更新されます。標識をテストすることによって、とるべき処置
を判別するこ
とができます。
- ON-ERROR グループを使用して、MONITOR
ブロックの中で処理されるステートメントのエラーを処理することができます。ステートメントの処理の際にエラーが発生すると、適切な
ON-ERROR グループに制御が渡ります。
- 例外が起こった時に制御を受け取ることになるユーザー定義の ILE 例外処理
プログラムを作成することができます。 詳細については、「WebSphere Development Studio: ILE RPG プログラマーの手引き」を
参照してください。
- ファイル例外/エラー処理サブルーチンを指定することができます。このサブルーチンは、ファイル仕様書上で、制御を渡す先のサブルーチンの名前を
指定して、INFSR キーワードによって定義します。 ファイル例外/エラーに関する情報
は、ファイル仕様書で INFDS キーワードによって指定されているファイル情報データ構造
を介して使用可能にすることができます。 また、プログラムまたは
ファイル状況に関して設定された最新の値を戻す %STATUS 組み込み関数も
使用することができます。ファイルが指定されている場合、%STATUS は、指定されたファイルに
関する INFDS *STATUS フィールドに入っている値を戻します。
- 標識、'E'
拡張、MONITOR ブロック、またはファイル例外/エラー処理サブルーチンがない場合には、ファイル例外/エラーは
RPG IV のデフォルトのエラー処理プログラムによって処理されます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.