exit

EGL exit 文は、指定したブロックを出ます。このブロックは、デフォルトでは、即時に exit 文を含むブロックです。


exit 文の構文図
case
最新に入力された exit 文がある case 文を出ます。 case 文後に処理を継続します。

exit 文は、同じ関数で開始される case 文内にはありません。

for
exit 文が存在する最新に入力された for 文から出ます。 for 文の後へ処理を進めます。

exit 文が、同じ関数内で始まる for 文の内部にない場合は、エラーが発生します。

forEach
exit 文が存在する最新に入力された forEach 文から出ます。 forEach 文の後へ処理を進めます。

exit 文が、同じ関数内で始まる forEach 文の内部にない場合は、エラーが発生します。

if
最新に入力された exit 文がある if 文を出ます。 if 文後に処理を継続します。

exit 文は、同じ関数で開始される if 文内にはありません。

program
プログラムを出ます。
以下のいずれかの場合は、 システム変数 sysVar.returnCode の値がオペレーティング・システムに戻されます。
  • プログラムが、戻りコードが含まれていない exit 文で終了している
  • プログラムが、sysVar.returnCode を戻す exit 文で終了している
  • プログラムが、終了 exit 文なしで終了している

プログラムが、sysVar.returnCode 以外の戻りコードを含んでいる終了の exit 文で終了する場合は、指定された値が、sysVar.returnCode 内の値の代わりに使用されます。

returnValue
リテラル整数、または整数へと解決される項目、定数、または数式。 戻り値は、オペレーティング・システムから使用可能になります。 戻り値は、オペレーティング・システムから使用可能になり、その範囲は -2147483648 以上 2147483647 以下であることが必要です。

Java™ 出力の場合、値は -2147483648 以上 2147483647 以下の範囲内にあることが必要です。COBOL 出力の場合、値は 0 以上 512 以下の範囲内にあることが必要です。

戻り値の詳細については、『sysVar.returnCode』を参照してください。

sysVar.returnCode
オペレーティング・システムに戻される値が含まれているシステム変数。

詳細については、『sysVar.returnCode』を参照してください。

stack
現在の関数に対する戻り値を設定せずに main 関数に制御を戻します。

exit stack という書式の文は、 ランタイム stack の中間関数に対するすべての参照を除去します。ランタイム stack は、関数 (具体的には、現在の関数、および実行すると現在の関数が実行される一連の関数) のリストです。

main 関数は、ある関数 (現在スタック内にある) を呼び出し、その呼び出しに、修飾子 out または inOut を持つパラメーターが含まれていた可能性があります。 そのような場合は、exit stack という書式の exit 文により、パラメーターの値を main 関数から使用できるようになります。

label (後述) を指定しない場合は、main 関数内の最新の run 関数呼び出し後に文で処理が継続されます。ラベルを指定すると、main 関数のラベルのすぐ後の文で処理が継続されます。ラベルは、main 関数内で最新に実行された関数呼び出しの前でも後でもかまいません。

main 関数に exit stack の書式の exit 文を指定すると、ラベルを指定した場合でも次の文が処理されます。 現在の関数の指定したラベルに移動する方法の詳細については、『goTo』を参照してください。

label
main 関数、およびブロック以外に表示される以下のような一連の文字。
  • if
  • else
  • case 文内
  • while
  • try

処理が継続されているロケーションに表示されるラベルは、後ろにコロンが付きます。ラベルの有効な文字についての詳細は、『命名規則』を参照してください。

関連する参照項目
goTo
命名規則
sysVar.returnCode

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.