Language Environment runtime options

Table 1 shows the Language Environment runtime options that can affect your routine's condition handling behavior.

Table 1. Runtime options that modify condition handling
  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:
  • QUIET for no information
  • MSG for message only
  • TRACE for message and a traceback
  • DUMP for message, traceback, and Language Environment dump
  • UAONLY for message and a system dump of the user address space
  • UATRACE for message, Language Environment dump with traceback information only, and a system dump of the user address space
  • UADUMP for message, traceback, Language Environment dump, and system dump
  • UAIMM for a system dump of the user address space of the original abend or program interrupt prior to the Language Environment condition manager processing the condition.
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.