Types of conditions you can handle

A user-written condition handler can, in general, intercept and process any condition, regardless of the language of the routine in which the condition occurred. This means that you can code a user-written condition handler to respond to condition tokens with any of the following facility IDs:
  • CEE, representing Language Environment and POSIX-defined conditions
  • EDC, representing C and C++ conditions
  • IGZ, representing COBOL conditions
  • FOR, representing Fortran conditions
  • IBM®, representing PL/I conditions
In general, your user-written condition handler can use any of the Language Environment condition handling services. Specific exceptions follow:
  • The ways in which you can resume after an IGZ condition of severity 2 or above are restricted. See Resuming execution after an IGZ condition occurs for details.
  • If an IBM condition of severity 2 or above was raised, then you cannot issue a resume without first moving the resume cursor.

    This restriction does not apply to IBM conditions of severity 0 or 1, or any IBM conditions signaled using the PL/I SIGNAL statement.

  • You cannot promote any condition to an IBM condition (one that belongs to PL/I). You can promote IBM conditions to conditions with facility IDs of CEE, EDC, FOR, or IGZ.

For more information about coding user-written condition handlers to respond to conditions of different facility IDs, see Using symbolic feedback codes.