例外オブジェクトが引き起こされると,そのオブジェクト参照がEXCEPTION-OBJECTにセットされます。宣言手続き中でEXCEPTION-OBJECTを参照すると,引き起こされたオブジェクトへの参照を取得できます。
EXCEPTION-OBJECTの詳細については,マニュアル「COBOL2002 言語 標準仕様編 4.3.2(5) 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.