RESIGNAL is a built-in subroutine equivalent to the RESIGNAL statement.
Syntax
CALL RESIGNAL();
Description
In Open PL/I, an ON-unit can determine that it does not want to handle a condition and can subsequently request that, instead of returning control
to the point of interruption, Open PL/I continue to search for another ON-unit to handle the condition. The RESIGNAL built-in subroutine is available for this purpose.
CALL RESIGNAL() is used in an ON-unit to pass the signaled condition back to the run-time system so that it can look for another ON-unit to handle the condition. The condition is passed at the end of the current ON-unit, that is, execution of the RESIGNAL does not immediately cause a return to the run-time system, but merely sets up the conditions
so that when the ON-unit completes its execution and returns, the run-time system will continue searching for another ON-unit that matches the signaled condition.
Examples
ON ERROR BEGIN;
PUT SKIP LIST('AN UNIDENTIFIED ERROR OCCURRED IN GETREC');
CALL RESIGNAL();
END;
Description
In Open PL/I, an ON-unit can determine that it does not want to handle a condition and can subsequently request that, instead of returning control to the point of interruption, Open PL/I continue to search for another ON-unit to handle the condition. The RESIGNAL built-in subroutine is available for this purpose.
CALL RESIGNAL() is used in an ON-unit to pass the signaled condition back to the run-time system so that it can look for another ON-unit to handle the condition. The condition is passed at the end of the current ON-unit, that is, execution of the RESIGNAL does not immediately cause a return to the run-time system, but merely sets up the conditions so that when the ON-unit completes its execution and returns, the run-time system will continue searching for another ON-unit that matches the signaled condition.