Table 1 shows the Language Environment runtime options that can affect your routine's condition handling behavior.
Description | |
---|---|
ABPERC | Specifies a system- or user-specified
abend code that percolates without further action while the Language Environment condition
handler is enabled. Normal condition handling activities are performed
for everything except the specified abend code. System abends are
specified as Shhh, where hhh is
a hexadecimal system abend code. User abends are specified as Udddd,
where dddd is a decimal user abend code. Any other
4-character EBCDIC string, such as NONE, that is not of the form Shhh can
also be specified as a user-specified abend code. You can specify
only one abend code with this option. This option assumes the use
of TRAP(ON). ABPERC is not supported in CICS®.
Language Environment ignores ABPERC(0Cx). No abend is percolated and Language Environment condition handling semantics are in effect. |
CHECK | Specifies that checking errors within an application are detected. The Language Environment-conforming languages can define error checking differently. |
DEPTHCONDLMT | Limits the extent to which synchronous conditions can be nested in a user-written condition handler. (Asynchronous signals do not affect DEPTHCONDLMT.) For example, if you specify 5, the initial condition and four nested conditions are processed. If the limit is exceeded, the application terminates with abend code 4091 and reason code 21 (X'15'). |
ERRCOUNT | Specifies the number of synchronous conditions of severity 2, 3, and 4 that are tolerated before the enclave terminates abnormally. (Asynchronous signals do not affect ERRCOUNT.) If you specify 0 an unlimited number of conditions is tolerated. |
INTERRUPT | Causes attentions recognized by the host operating system to be passed to and recognized by Language Environment after the environment has been initialized. |
TERMTHDACT | Sets the level of information that
is produced when a condition of severity 2 or greater remains unhandled
within the enclave. The parameter settings for different levels of
information include:
|
TRAP(ON) | Fully enables the Language Environment condition
handler. This causes the Language Environment condition
handler to intercept error conditions and routine interrupts. During
typical operation, you should use TRAP(ON) when running your applications. When TRAP(ON,NOSPIE) is specified, Language Environment handles all program interrupts and abends through an ESTAE. Use this feature when you do not want Language Environment to issue an ESPIE macro. |
TRAP(OFF) | Disables the Language Environment condition
handler from handling abends and program checks/interrupts. ESPIE
is not issued with TRAP(OFF), it is still possible to invoke the condition
handler through the CEESGL callable service and pass conditions to
registered user-written condition handlers. Specify TRAP(OFF) when you do not want Language Environment to issue an ESTAE or an ESPIE. However, TRAP(OFF) can cause several unexpected side effects. For more information, see the TRAP runtime option in z/OS Language Environment Programming Reference. When TRAP(OFF), TRAP(OFF,SPIE), or TRAP(OFF,NOSPIE) is specified and either a program interrupt or abend occurs, the user exit for termination is ignored. |
USRHDLR | Specifies the behavior of two user-written
condition handlers. The first handler specified will be registered
at stack frame 0. The second handler specified will be registered
before any other user-written condition handlers, once the handler
is enabled by a condition. When you specify USRHDLR(lastname,supername), lastname gets control at stack frame 0. The supername will get control first, before any user-written condition handlers but after supername has gone through the enablement phase, when a condition occurs. |
XUFLOW | Specifies if an exponent underflow causes a routine interrupt. |