z/OS Language Environment Programming Guide for 64-bit Virtual Addressing Mode
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Scenario 1: Simple condition handling

z/OS Language Environment Programming Guide for 64-bit Virtual Addressing Mode
SA38-0689-00

Refer to Figure 1 throughout the following discussion.

Figure 1. Scenario 1: Division by zero with no user exception handlers present
The divide-by-zero exception occurs during Routine B.

In this scenario, there are no C/C++ handlers created by a call to signal() or user-written exception handlers.

  1. A divide-by-zero exception occurs in routine B.
  2. The divide-by-zero exception is enabled by the language of the stack frame in which it occurred because it is a problem that, if it remains unhandled, causes termination.
  3. The following occurs in the condition step:
    • No handlers have been registered, so the condition is percolated from B's stack frame to A's stack frame.
    • No handlers have been registered, so the condition is percolated.
    • After the oldest stack frame (in this case, that for routine A) has been checked, HLL and Language Environment default actions occur. Assume that the HLL percolates the condition to Language Environment.

      Language Environment examines the severity of the unhandled divide-by-zero condition (severity 3), so termination step is started.

  4. The following occurs during the termination step:
    • Language Environment takes the default action for the unhandled condition, which terminates the enclave.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014