COBOL言語の「EXIT文」とは?機能や使い方を解説します | 用語辞典

COBOL(コボル)言語の予約語EXITを使った処理の終了とは

辞典・辞書-EXIT-イメージ

COBOL(コボル)言語のEXIT文とは?

EXIT(英語)は、日本語に訳すると「出口」という意味です。

COBOL(コボル)言語のEXIT文は、サブルーチンを終了します。

EXIT文の形式:EXIT

EXIT文は節の終了を意味し、サブルーチンとして呼び出された節を終了し、制御を呼び出し元に戻します。

■書式

 出口段落名 EXIT.

■構文規則

 <出口段落名>

  サブルーチンの出口の段落名を記述します。

■使用例

 実際にサブルーチンでEXIT文を使用したプログラム例をご紹介します。

辞典・辞書-EXIT-使用例

このプログラムは、コンソールに入力を促すメッセージを表示し、数字の0から9までの1文字を入力させる処理を繰り返すプログラムです。数字の9が入力されるとプログラムを終了します。また、0から9以外が入力されるとエラーメッセージを表示します。

■実行結果

はじめに入力を促すメッセージが表示されます。

辞典・辞書-EXIT-実行結果

数字の0を入力してみます。

辞典・辞書-EXIT-入力例1

入力を促すメッセージが繰り返し表示されます。

次に数字の8を入力してみます。

辞典・辞書-EXIT-入力例2

入力を促すメッセージが繰り返し表示されます。

次に英字のAを入力してみます。

辞典・辞書-EXIT-入力例3

エラーメッセージが表示され、入力を促すメッセージが表示されます。

次に数字の9を入力してみます。

辞典・辞書-EXIT-入力例4

プログラムが終了しました。

EXIT文のCOBOL(コボル)言語における基本事項やルールについて

EXIT文は節の実行を終わらせる命令です。この命令がないと、PERFORMでサブルーチンを呼び出しても、呼び出し元に制御が戻らず、意図したところでサブルーチンを終了させることができません。

COBOL(コボル)言語のEXIT文を使うときの注意点

EXIT文をサブルーチン内にいくつも記述すると、出口がたくさんあって、わかりにくくデバッグが難しいプログラムになってしまいます。出口はできるだけ1つにまとめて、EXIT文は1カ所に記述するようにしましょう。

EXIT文を使ったCOBOL(コボル)プログラムの活用方法

EXIT文は、PROGRAM句を使って、サブルーチンの終了以外にも副プログラムを終了させることができます。また、最上位の主プログラムであれば、処理全体を終了させることができます。

では、「COBOL(コボル)言語のEXIT文とは?」でご紹介したサンプルプログラムを、主プログラムと副プログラムに分けて、副プログラムをEXIT PROGRAMで終了させてみましょう。

■主プログラム

   
  1. ******************************************************************
  2. * Author:
  3. * Date:
  4. * Purpose:
  5. * Tectonics: cobc
  6. ******************************************************************
  7. IDENTIFICATION DIVISION.
  8. PROGRAM-ID. EXIT-SUMPLE2.
  9. DATA DIVISION.
  10. FILE SECTION.
  11. WORKING-STORAGE SECTION.
  12. 01 WORKING-AREA.
  13. * リターンコード
  14. 03 RET PIC 9(1).
  15.  
  16. PROCEDURE DIVISION.
  17. *-------------------------------------------
  18. * 主手続
  19. *-------------------------------------------
  20. MAIN-PROCEDURE.
  21. * リターンコードの初期化
  22. MOVE ZERO TO RET.
  23. CALL "EXIT-SUMPLE3" USING BY REFERENCE RET.
  24. DISPLAY RET.
  25. IF RET NOT = 9 THEN
  26. GO TO MAIN-PROCEDURE
  27. END-IF.
  28.  
  29. STOP RUN.
  30.  
  31. END PROGRAM EXIT-SUMPLE2.

■副プログラム

   
  1. ******************************************************************
  2. * Author:
  3. * Date:
  4. * Purpose:
  5. * Tectonics: cobc
  6. ******************************************************************
  7. IDENTIFICATION DIVISION.
  8. PROGRAM-ID. EXIT-SUMPLE3.
  9. DATA DIVISION.
  10. FILE SECTION.
  11. WORKING-STORAGE SECTION.
  12. 01 WORKING-AREA.
  13. * コンソール入力バッファ
  14. 03 CONSOLE-INPUT PIC X(1).
  15.  
  16. LINKAGE SECTION.
  17. 01 LNK_AREA.
  18. 03 RET_CODE PIC 9(1).
  19.  
  20. *-------------------------------------------
  21. * 副手続
  22. *-------------------------------------------
  23. PROCEDURE DIVISION USING LNK_AREA.
  24. *-------------------------------------------
  25. * コンソール表示&入力処理
  26. *-------------------------------------------
  27. DISPLAY-INPUT-PROC.
  28. MOVE SPACE TO CONSOLE-INPUT.
  29. DISPLAY "数字を1文字入力してください".
  30. DISPLAY "0-8:CONTINUE  9:EXIT".
  31. ACCEPT CONSOLE-INPUT FROM CONSOLE.
  32.  
  33. IF (CONSOLE-INPUT < 0) OR
  34. (CONSOLE-INPUT > 9) THEN
  35. DISPLAY "入力値が誤っています"
  36. END-IF.
  37.  
  38. DISPLAY-INPUT-PROC-END.
  39. MOVE CONSOLE-INPUT TO RET_CODE.
  40. EXIT PROGRAM.
  41.  
  42. END PROGRAM EXIT-SUMPLE3.

■実行結果

はじめに入力を促すメッセージが表示されます。

辞典・辞書-EXIT-実行結果

数字の0を入力してみます。

辞典・辞書-EXIT-入力例1

入力を促すメッセージが繰り返し表示されます。

次に数字の8を入力してみます。

辞典・辞書-EXIT-入力例2

入力を促すメッセージが繰り返し表示されます。

次に英字のAを入力してみます。

辞典・辞書-EXIT-入力例3

エラーメッセージが表示され、入力を促すメッセージが表示されます。

次に数字の9を入力してみます。

辞典・辞書-EXIT-入力例4

プログラムが終了しました。

EXIT文は、サブルーチンやプログラムの実行を終わらせ、上位モジュール(呼び出し元)に制御を戻す重要な命令です。構造化プログラミングでは欠かせない命令なので、ぜひ使い方を覚えてくださいね。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門