COBOL2002 ユーザーズガイド
例外名とは,おのおのの例外に関連づけられた名前のことです。例えば,「0による除算」の例外は,例外名「EC-SIZE-ZERO-DIVIDE」として識別されます。
例外名には,次の三つのレベルがあります。
例外名の一覧を,次に示します。
表22-2 例外名の一覧
例外名 | 致命度 | 説明 | 検出される文 |
---|---|---|---|
EC-ALL | − | すべての例外 | − |
EC-ARGUMENT | − | 引数エラー | − |
EC-ARGUMENT-FUNCTION | 致命的 | 関数で引数エラーが発生した | 組み込み関数を指定できる手続き文※1 |
EC-ARGUMENT-IMP | 致命的 | 組み込み関数の処理中にメモリ不足などのエラーが発生した | 組み込み関数を指定できる手続き文※1 |
EC-BOUND | − | 区域外 | − |
EC-BOUND-ODO | 致命的 | OCCURS〜DEPENDING ONデータ項目が区域外である※2 | OCCURS DEPENDING ON一意名に値を設定する手続き文※1 |
EC-BOUND-REF-MOD | 致命的 | 区域外の部分参照子である※3 | 部分参照を指定できる手続き文※1 |
EC-BOUND-SUBSCRIPT | 致命的 | 区域外の添字である※4 | 添字を指定できる手続き文※1 |
EC-DATA | − | データ例外 | − |
EC-DATA-PTR-NULL | 致命的 | アドレス名によって参照されるデータ項目を参照するとき,アドレス名の設定値がNULLである | アドレス名によって参照されるデータ項目を指定した手続き文※5 |
EC-FLOW | − | 実行制御フロー違反 | − |
EC-FLOW-GLOBAL-EXIT | 致命的 | 大域的な宣言手続き中でEXIT PROGRAM文が実行された | EXIT文 |
EC-FLOW-GLOBAL-GOBACK | 致命的 | 大域的な宣言手続き中でGOBACK文が実行された |
|
EC-FLOW-IMP | 致命的 | ALTER文で行き先を指定する前に,行き先を省略したGO TO文が実行された | GO TO文 |
EC-FLOW-RELEASE | 致命的 | RELEASE文がSORT文の範囲内にない | RELEASE文 |
EC-FLOW-RETURN | 致命的 | RETURN文がMERGE文やSORT文の範囲内にない | RETURN文 |
EC-FLOW-USE | 致命的 | USE文が別のUSE手続きを実行させた | 宣言手続き中で実行中の宣言手続きを実行する例外を引き起こした手続き文 |
EC-I-O | − | 入出力例外 | − |
EC-I-O-AT-END | 非致命的 | 入出力状態「1x」が発生した | READ文 |
EC-I-O-EOP | 非致命的 | ページ終了条件が発生した | WRITE文 |
EC-I-O-EOP-OVERFLOW | 非致命的 | ページあふれ条件が発生した | WRITE文 |
EC-I-O-IMP | 致命的 | 入出力状態「9x」が発生した(入出力状態の詳細は,「付録G 入出力状態の値」を参照) |
|
EC-I-O-INVALID-KEY | 非致命的 | 入出力状態「2x」が発生した |
|
EC-I-O-LINAGE | 致命的 | LINAGE句に指定したデータ名の値が要求範囲外である |
|
EC-I-O-LOGIC-ERROR | 致命的 | 入出力状態「4x」が発生した |
|
EC-I-O-PERMANENT-ERROR | 致命的 | 入出力状態「3x」が発生した |
|
EC-OO | − | オブジェクト指向に関連するすべての既定義例外 | − |
EC-OO-CONFORMANCE | 致命的 | オブジェクトビューに対する不成功が発生した | オブジェクトビューを指定できる手続き文 |
EC-OO-EXCEPTION | 致命的 | 例外オブジェクトが処理されなかった |
|
EC-OO-IMP | 致命的 | INVOKE文の一意名1に指定されたハンドルの値が正しくない | INVOKE文 |
EC-OO-METHOD | 致命的 | 要求されるメソッドが使用できない | INVOKE文 |
EC-OO-NULL | 致命的 | NULLオブジェクト参照を使用してメソッドを呼び起こそうとした | INVOKE文 |
EC-OO-RESOURCE | 致命的 | オブジェクトの作成や拡張に必要なシステム資源が不十分である | INVOKE文 |
EC-OO-UNIVERSAL | 致命的 | 実行時の型チェックが失敗した | INVOKE文 |
EC-OVERFLOW | − | けたあふれ条件 | − |
EC-OVERFLOW-STRING | 非致命的 | STRING文のけたあふれ条件が発生した | STRING文 |
EC-OVERFLOW-UNSTRING | 非致命的 | UNSTRING文のけたあふれ条件が発生した | UNSTRING文 |
EC-PROGRAM | − | プログラム間連絡例外 | − |
EC-PROGRAM-ARG-MISMATCH | 致命的 | 引数が不一致である | CALL文 |
EC-PROGRAM-CANCEL-ACTIVE | 致命的 | 取り消されるプログラムが活性状態である | CANCEL文 |
EC-PROGRAM-IMP |
致命的 |
|
|
EC-PROGRAM-NOT-FOUND | 致命的 | 呼び出し先プログラムが見つからない | CALL文 |
EC-PROGRAM-RECURSIVE-CALL | 致命的 | 呼び出し先プログラムが活性状態である | CALL文 |
EC-PROGRAM-RESOURCES | 致命的 | 呼び出し先プログラムで資源が使用できない |
|
EC-RAISING | − | EXIT文RAISING指定かGOBACK文RAISING指定で発生する例外 | − |
EC-RAISING-NOT-SPECIFIED | 致命的 | EXIT文RAISING指定かGOBACK文RAISING指定のEC-USER例外条件が手続き部見出しのRAISING指定にない |
|
EC-RANGE | − | 範囲例外 | − |
EC-RANGE-INSPECT-SIZE | 致命的 | INSPECT文での置き換え項目のサイズが異なる | INSPECT文 |
EC-RANGE-INVALID | 非致命的 | THROUGH範囲の開始値が終了値よりも大きい |
|
EC-RANGE-PERFORM-VARYING | 致命的 | PERFORM文で変更項目の設定が負値である | PERFORM文 |
EC-RANGE-SEARCH-INDEX | 非致命的 | 指標の初期値が範囲外のため,SEARCH文で表要素が見つからない | SEARCH文 |
EC-RANGE-SEARCH-NO-MATCH | 非致命的 | 探索基準に合致する要素がないため,SEARCH文で表要素が見つからない | SEARCH文 |
EC-SIZE | − | けたあふれ例外 | − |
EC-SIZE-EXPONENTIATION | 致命的 | べき乗演算規則の違反が発生した | COMPUTE文 |
EC-SIZE-OVERFLOW | 致命的 | 計算でのけたあふれが発生した |
|
EC-SIZE-TRUNCATION | 致命的 | 格納での有効けた切り捨てが発生した |
|
EC-SIZE-UNDERFLOW | 致命的 | 浮動小数点での下位けたあふれが発生した |
|
EC-SIZE-ZERO-DIVIDE | 致命的 | ゼロによる除算が発生した |
|
EC-SORT-MERGE | − | 整列併合機能の例外 | − |
EC-SORT-MERGE-IMP | 致命的 | 整列併合用ファイル記述項のRECORD句で指定したDEPENDING ONデータ名の値が数字ではない |
|
EC-SORT-MERGE-RELEASE | 致命的 | RELEASE文のレコードが長過ぎるまたは短過ぎる | RELEASE文 |
EC-SORT-MERGE-RETURN | 致命的 | RETURN文がファイル終了条件発生中に実行された | RETURN文 |
EC-USER | − | 利用者定義の例外 | − |
EC-USER-(ユーザ定義例外名) | 非致命的 | レベル3の利用者定義の例外条件 |
|
利用者定義例外名とは,ユーザが独自の例外を定義して使用できる機能です。
利用者定義例外名は,「EC-USER-」で始まる任意の例外名を記述して定義します。利用者定義例外名の命名規則については,マニュアル「COBOL2002 言語 標準仕様編 10.5.11(1) 例外」を参照してください。
利用者定義例外名として,「EC-USER-EXCEPTION」という例外名を使用する場合のコーディング例を,次に示します。
IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE. PROCEDURE DIVISION. DECLARATIVES. EXCEPTIONHANDLER SECTION. USE AFTER EXCEPTION CONDITION EC-USER-EXCEPTION. *> 1. DISPLAY 'EC-USER-EXCEPTION発生'. END DECLARATIVES. RAISE EXCEPTION EC-USER-EXCEPTION. *> 2. END PROGRAM SAMPLE.
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.