PROPAGATE指令をONにすると,引き起こされた例外を自動的に呼び出し元プログラムへ伝播させられます。
PROPAGATE指令については,マニュアル「COBOL2002 言語 標準仕様編 3.3.13 PROPAGATE指令」を参照してください。
PROPAGATE指令を使用した例外の伝播の例を,次に示します。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
:
PROCEDURE DIVISION.
DECLARATIVES.
ERROR-HANDLER SECTION.
USE AFTER EXCEPTION CONDITION EC-BOUND-SUBSCRIPT. *> 4.
:
END DECLARATIVES.
>>TURN EC-BOUND-SUBSCRIPT CHECKING ON
CALL 'SAMPLE2'. *> 1.
END PROGRAM SAMPLE1.
>>PROPAGATE ON *> 3.
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A.
02 AA PIC 9 OCCURS 10 INDEXED BY B.
01 C PIC 9.
:
PROCEDURE DIVISION.
SET B DOWN BY 1.
>>TURN EC-BOUND-SUBSCRIPT CHECKING ON
MOVE AA ( B ) TO C. *> 2.
END PROGRAM SAMPLE2.