21.7.2 EXCEPTION-OBJECT
例外オブジェクトが引き起こされると,そのオブジェクト参照がEXCEPTION-OBJECTにセットされます。宣言手続き中でEXCEPTION-OBJECTを参照すると,引き起こされたオブジェクトへの参照を取得できます。
EXCEPTION-OBJECTの詳細については,マニュアル「COBOL2002 言語 標準仕様編」 「4.3.2(5) EXCEPTION-OBJECT」を参照してください。
- EXCEPTION-OBJECTの規則
-
-
例外オブジェクトが引き起こされていない場合,または例外名による例外が引き起こされた場合,EXCEPTION-OBJECTにはNULLがセットされます。
-
EXCEPTION-OBJECTは,値の参照およびクリアだけができます。値の代入はできません。
-
EXCEPTION-OBJECTは,外部属性を持つオブジェクト参照データ項目で,実行単位に一つだけ存在します。
-
- 使用例
-
EXCEPTION-OBJECTの使用例を,次に示します。
IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS EXCEPT-CLASS. DATA DIVISION. WORKING-STORAGE SECTION. 01 OBJ USAGE OBJECT REFERENCE EXCEPT-CLASS. PROCEDURE DIVISION. DECLARATIVES. EXCEPTION-HANDLER SECTION. USE AFTER EXCEPTION OBJECT EXCEPT-CLASS. *> 2. INVOKE EXCEPTION-OBJECT 'SAMPLEMETHOD'. END DECLARATIVES. INVOKE EXCEPT-CLASS 'NEW' RETURNING OBJ. RAISE OBJ. *> 1. END PROGRAM SAMPLE. IDENTIFICATION DIVISION. CLASS-ID. EXCEPT-CLASS INHERITS BASE. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS BASE. IDENTIFICATION DIVISION. OBJECT. IDENTIFICATION DIVISION. METHOD-ID. SAMPLEMETHOD. PROCEDURE DIVISION. DISPLAY 'EXCEPTION-OBJECTの使用例'. END METHOD SAMPLEMETHOD. END OBJECT. END CLASS EXCEPT-CLASS.
-
プログラム「SAMPLE」中のRAISE文に,オブジェクト参照一意名が指定されているため,例外オブジェクトが引き起こされます。
-
例外宣言手続き内で,INVOKE文にEXCEPTION-OBJECTが指定されているため,例外オブジェクト(OBJ)を参照できます。SAMPLEMETHODが実行されます。