COBOL2002 ユーザーズガイド
次の組み込み関数を使用すると,実行単位で最後に引き起こされた例外(最新例外状態)の詳細な情報を取得できます。
最新例外状態に関連するファイル結合子の入出力状態の値,およびファイル名称を返します。関数の戻り値の長さは,64バイトです。
EXCEPTION-FILE関数の戻り値を,次に示します。
例外の種類 | 関数の戻り値の内容 |
---|---|
入出力に関連する例外の場合※1 | 入出力状態とファイル名 |
入出力以外の例外の場合※2 | 00 |
EXCEPTION-FILE関数については,マニュアル「COBOL2002 言語 標準仕様編 11.22 EXCEPTION-FILE関数」を参照してください。
最新例外状態に関連する文の位置を返します。関数の戻り値の長さは,303バイトです。なお,-LiteralExtend,Alnumオプションを指定した場合は,1,167バイトになります。
EXCEPTION-LOCATION関数の戻り値は,プログラム/利用者定義関数/メソッドの名称,手続き名,およびソース行識別子から構成され,それぞれがセミコロン(;)と空白1文字で区切られた形式となっています。
EXCEPTION-LOCATION関数の戻り値を,次に示します。
例外の有無 | 関数の戻り値の内容 |
---|---|
例外あり |
|
例外なし | 英数字空白 |
AAA…AA;△BB…B;△CCCCCCC/CCC
例外の引き起こされた位置を 含む定義の種別 |
関数の戻り値の内容 |
---|---|
プログラム | プログラム名 |
利用者定義関数 | 利用者定義関数名 |
メソッド | メソッド名 |
手続きの種別 | 関数の戻り値の内容 |
---|---|
段落名,節名あり※ | 段落名 OF 節名 |
段落名だけあり | 段落名 |
節名だけあり※ | 節名 |
段落名,節名なし | 何も戻さない |
インライン展開前の形式 | インライン展開後の形式 |
---|---|
AAA SECTION. PERFORM XXX. STOP RUN. BBB SECTION. XXX. COMPUTE A = B + 1. CCC SECTION. COMPUTE A = B + 2. |
AAA SECTION. XXX. COMPUTE A = B + 1. STOP RUN. BBB SECTION. CCC SECTION. COMPUTE A = B + 2. |
返される手続き名 XXX△OF△BBB |
返される手続き名 XXX△OF△AAA |
(凡例) △:空白(X'20')
EXCEPTION-LOCATION関数については,マニュアル「COBOL2002 言語 標準仕様編 11.23 EXCEPTION-LOCATION関数」を参照してください。
例外が引き起こされた文の名前を返します。関数の戻り値の長さは,31バイトです。
EXCEPTION-STATEMENT関数の戻り値を,次に示します。
例外の有無 | 関数の戻り値の内容 |
---|---|
例外あり | 例外の発生した文の名前 |
例外なし | 英数字空白31文字 |
EXCEPTION-STATEMENT関数については,マニュアル「COBOL2002 言語 標準仕様編 11.24 EXCEPTION-STATEMENT関数」を参照してください。
最新例外状態に関連する例外名称を返します。関数の戻り値の長さは,31バイトです。
EXCEPTION-STATUS関数の戻り値を,次に示します。
引き起こされた例外の種別 | 関数の戻り値の内容 |
---|---|
例外名 | 例外名 |
例外オブジェクト | EXCEPTION-OBJECT |
例外なし | 英数字空白31文字 |
EXCEPTION-STATUS関数については,マニュアル「COBOL2002 言語 標準仕様編 11.25 EXCEPTION-STATUS関数」を参照してください。
組み込み関数を使用して最新例外状態を参照するCOBOLプログラムの例を,次に示します。
IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE. : ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INFILE ASSIGN 'INPUT-FILE'. SELECT OUTFILE ASSIGN 'OUTPUT-FILE'. : DATA DIVISION. FILE SECTION. FD INFILE. 01 INREC PIC X(10). FD OUTFILE. 01 OUTREC PIC X(10). WORKING-STORAGE SECTION. 01 EOF-FLG PIC 9 VALUE 0. : PROCEDURE DIVISION. DECLARATIVES. EXCEPTION-HANDLING SECTION. USE AFTER EXCEPTION CONDITION EC-I-O. *> 2. DISPLAY FUNCTION EXCEPTION-FILE. DISPLAY FUNCTION EXCEPTION-LOCATION. DISPLAY FUNCTION EXCEPTION-STATEMENT. DISPLAY FUNCTION EXCEPTION-STATUS. IF FUNCTION EXCEPTION-STATEMENT = 'OPEN' THEN IF FUNCTION EXCEPTION-FILE (3 : ) = 'OUTFILE' THEN RESUME AT ERROR-HANDLE2 END-IF RESUME AT ERROR-HANDLE3 END-IF. RESUME AT ERROR-HANDLE1. END DECLARATIVES. >>TURN EC-I-O CHECKING ON OPEN INPUT INFILE. *> 1. OPEN OUTPUT OUTFILE. PERFORM UNTIL EOF-FLG = 1 READ INFILE WRITE OUTREC FROM INREC END-PERFORM. ERROR-HANDLE1. CLOSE OUTFILE. ERROR-HANDLE2. CLOSE INFILE. ERROR-HANDLE3. *> 3. STOP RUN. END PROGRAM 'SAMPLE'.
組み込み関数名 | 関数の戻り値 |
---|---|
EXCEPTION-FILE | 35INFILE |
EXCEPTION-LOCATION | SAMPLE;△;△0000035/011 ※ |
EXCEPTION-STATEMENT | OPEN |
EXCEPTION-STATUS | EC-I-O-PERMANENT-ERROR |
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.