ONCODE 組み込み関数の値テーブル

任意のユニットで ONCODE 組み込み関数を使用して、当該 ON-unit の呼び出しの原因となったエラー状態の性質を特定できます。

エラー メッセージ内の番号は、Windows では errno.h ファイルの値であり、ほとんどの Linux システムでは通常は errno-base.h ファイルの値です。詳細については、「errno.h と errno-base.h」のトピックを参照してください。

重要: 一部の状態については、ONCODE で返される値が実装に応じて異なります。実際、ある実装では発生する状態が、別の実装ではまったく発生しない、という場合があります。これは、双方の実装で実行しているソース プログラムが同一であっても起こり得ます。さらに、今後の Open PL/I のリリースで、ONCODE の値が変更される可能性もあります。したがって、プログラムを移植しやすくするために、特定の ONCODE 戻り値が正しく機能することに依存した Open PL/I プログラムは記述しないようにしてください。それができない場合は、実装固有の値を簡単に変更できるように、交換定数を使用して必要な値を表現してください。

ON 条件の詳細については、「ON」および「ONCODE 関数」のトピックを参照してください。

次の各表は、エラーのカテゴリ別に、値 (コード) の一覧を昇順で示したものです。

コード 意味
0 アクティブな ON-unit 以外で ONCODE が使用されました。

システムで定義された条件コード

コード 意味
001 から 099 UNIX システム エラーが発生しました。返された値は、ご使用のシステムのマニュアルにリストされている、UNIX システム エラー コードと正確に一致しています。
100 から 89999 ランタイム エラーが発生しました。返された値は、「付録 C」に記載されている、Open PL/I ランタイム エラー コードと正確に一致しています (返される可能性のある一番大きいエラー番号は 89999 であり、現在は使用されていないエラー番号もあります)。
9250 フェッチ可能なプロシージャが見つかりませんでした。

信号の条件コード

コード 意味
90000 EOF などの UNIX 信号以外の理由により、シェルが終了しました。
90nnn ランタイム システムが信号番号 nnn をキャッチしました。次の信号を除き、値 nnn は、ご使用のシステムのマニュアルで定義されている信号番号と正確に一致しています。

SIGINT – PL/I ATTENTION 条件として処理されます。

SIGFPE – 計算上のエラー状態として処理されます。

PL/I 条件コード

コード 意味
310 FIXEDOVERFLOW
8097 FIXED DECIMAL 変数に無効なデータが含まれています。
99001 SIGNAL ERROR 文に起因する ERROR 条件
99011 FINISH 条件
99020 ATTENTION 条件
99110 ENDFILE 条件
99120 ENDPAGE 条件
99130 KEY 条件
99140 UNDEFINEDFILE 条件
99150 RECORD 条件
99151 から 340 SIZE 条件がトリガーされます。
99200 計算上のエラー。一部のオペレーティング システムでは、エラーの詳しい原因が示されます。その場合、ONCODE はより具体的なエラーの説明に対応する番号を返します。
99201 OVERFLOW 条件
99202 UNDERFLOW 条件
99203 ZERODIVIDE 条件
99204 SUBSCRIPTRANGE 条件
99205 CONVERSION 条件
99206 CONDITION 条件
99207 AREA 条件
99210 INVALID OPERAND 条件
99211 INVALID_ADD_SUBTRACT 条件
99212 INVALID_MULTIPLY 条件
99213 INVALID_DIVIDE 条件
99214 INVALID_MOD 条件
99215 INVALID_COMPARISON 条件
99251 INVALID_SQRT 条件
99252 INVALID_ASIN_ACOS 条件
99253 INVALID_ATAN2 条件
99254 INVALID_LOG 条件
99255 INVALID_POWER 条件
99256 INVALID_ATANH 条件
99257 INVALID_COMPLEX_OPERAND 条件
99301 ローカル以外の GOTO 処理中に発生した、スタックのアンワインド条件です。これは、SS$_UNWIND の値に対応します。
99310 STRINGRANGE 条件
注: 各条件の説明については、「Open PL/I の条件」を参照してください。