When any condition is trapped
and causes a SIGNAL or CALL, this
becomes the current trapped condition, and certain condition information
associated with it is recorded.
You can inspect this information by using the CONDITION
built-in function
(see page CONDITION).
The condition information includes:
- The name of the current trapped condition
- The name of the instruction processed as a result of the
condition trap (CALL or SIGNAL)
- The status of the trapped condition
- Any descriptive string associated with that condition.
The current condition information is replaced when control is passed
to a label as the result of a condition trap (CALL ON or SIGNAL ON).
Condition information is saved and restored across subroutine or
function calls, including one because of a CALL ON trap.
Therefore, a routine called by a CALL ON can access the appropriate
condition information. Any previous condition information is still
available after the routine returns.
The descriptive string varies, depending on the condition trapped.
- ERROR
- The string that was processed and resulted in the error condition.
- FAILURE
- The string that was processed and resulted in the failure condition.
- HALT
- Any string associated with the halt request.
This can be the null string if no string was provided.
- NOVALUE
- The derived name of the variable whose attempted reference caused
the NOVALUE condition.
The NOVALUE condition trap can be enabled only using
SIGNAL ON.
- SYNTAX
- Any
string
the language processor associated with the error.
This can be the null string if
you did not provide a specific string.
Note that the special variables RC and SIGL provide information on the
nature and position of the processing error.
You can enable the SYNTAX condition trap only by using
SIGNAL ON.