Condition information
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 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.
Descriptive strings
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.