PL/I condition handling semantics remain supported under Language Environment; however, the timing of issuing the run-time message for an ERROR condition with respect to the ERROR ON-Unit is different in the following way:
For PL/I conditions whose implicit action includes issuing a message and raising the ERROR condition, the timing of issuing the message is unchanged.
Table 6 shows when the run-time message for an ERROR condition is issued under OS PL/I with respect to the ERROR On-Unit.
|
Condition |
No ON-Units |
ERROR ON-Unit No GOTO |
ERROR ON-Unit GOTO |
|---|---|---|---|
| ERROR condition raised1 | Message | Message prior to ON-unit | Message prior to ON-unit |
| ZERODIVIDE condition raised2 | Message | Message prior to ON-unit | Message prior to ON-unit |
|
Notes:
|
|||
Table 7 shows when the run-time message for an ERROR condition is issued under Language Environment with respect to the ERROR On-Unit.
|
Condition |
No ON-units |
ERROR ON-unit No GOTO |
ERROR ON-unit GOTO |
|---|---|---|---|
| ERROR condition raised1 | Message | Message after ON-unit | No message |
| ZERODIVIDE condition raised2 | Message | Message prior to ON-unit | Message prior to ON-unit |
|
Notes:
|
|||
The SNAP traceback message produced by ON ERROR SNAP continues to be issued before the ERROR ON-unit receives control. The SNAP traceback message is not identical to the regular ERROR message.