RESIGNAL() サブルーチン

目的

RESIGNAL は、RESIGNAL 文に相当する組み込みサブルーチンです。

構文

CALL RESIGNAL();

説明

Open PL/I では、ON-unit で条件を処理しないように指定し、中断したポイントに制御を戻す代わりに、条件を処理する別の ON-unit を引き続き探すように Open PL/I に要求できます。RESIGNAL 組み込みサブルーチンは、この目的に使用できます。

CALL RESIGNAL() は、条件を処理する別の ON-unit を探すことができるように、ON-unit からランタイム システムに信号条件を戻すために使用されます。条件は現在の ON-unit の最後に渡されるため、RESIGNAL を実行しても、ランタイム システムにすぐに制御が戻るわけではありません。ON-unit の実行が完了してランタイム システムに制御が戻った時点で信号条件に一致する別の ON-unit を引き続き探すように条件が設定されるだけです。

ON ERROR BEGIN;
 PUT SKIP LIST('AN UNIDENTIFIED ERROR OCCURRED IN GETREC'); 
 CALL RESIGNAL();
END;

制約事項

なし。