宣言手続きの実行中に次の文を使用すると,宣言手続きの実行を中断して,制御を復帰できます。
RESUME文は,宣言手続きから復帰するときに使用します。RESUME文では,例外が引き起こされた次の文に復帰させる方法と,指定した手続き名へ復帰させる方法があります。
RESUME文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.37 RESUME文」を参照してください。
RESUME文を使用した宣言手続きからの復帰の例を,次に示します。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.
>>TURN EC-SIZE CHECKING ON
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9 VALUE 9.
01 B PIC 9 VALUE 0.
01 C PIC 9.
PROCEDURE DIVISION.
DECLARATIVES.
USE-1 SECTION.
USE AFTER EXCEPTION CONDITION EC-SIZE-ZERO-DIVIDE. *> 2.
DISPLAY 'RESUME NEXT実行'.
RESUME NEXT STATEMENT. *> 3.
USE-2 SECTION.
USE AFTER EXCEPTION CONDITION EC-SIZE-TRUNCATION. *> 5.
DISPLAY 'RESUME 手続き名実行'.
RESUME 復帰手続き. *> 6.
END DECLARATIVES.
DIVIDE A BY B GIVING C. *> 1.
COMPUTE C = A * 2. *> 4.
STOP RUN.
復帰手続き. *> 7.
DISPLAY '宣言手続きからの復帰'.
:
END PROGRAM SAMPLE.
宣言手続きの実行中に,GOBACK文,またはEXIT文を実行すると,暗黙的に宣言手続きからの復帰が行われます。
GOBACK文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.22 GOBACK文」を参照してください。
EXIT文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.20 EXIT文」を参照してください。
GOBACK文を使用した宣言手続きからの復帰の例を,次に示します。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE1.
PROCEDURE DIVISION.
CALL 'SAMPLE2'. *> 1.
END PROGRAM SAMPLE1.
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE2.
>>TURN EC-SIZE CHECKING ON
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9 VALUE 9.
01 B PIC 9 VALUE 0.
01 C PIC 9.
PROCEDURE DIVISION.
DECLARATIVES.
USE-1 SECTION.
USE AFTER EXCEPTION CONDITION EC-ALL. *> 3.
DISPLAY 'GOBACK実行'.
GOBACK. *> 4.
END DECLARATIVES.
:
DIVIDE A BY B GIVING C. *> 2.
EXIT PROGRAM.
END PROGRAM SAMPLE2.