In a CL program, you can monitor for a selected group of exceptions, or a single exception, based on the exception identifier. The only class2 values the exception handler will monitor for are _C2_MH_ESCAPE, _C2_MH_STATUS, _C2_MH_NOTIFY, and _C2_MH_FUNCTION_CHECK. For more information about using the #pragma exception handler directive, see the IBM Rational Development Studio for i: ILE C/C++ Compiler Reference. This table defines all the exception classes you can specify.
Bit position | Header File Constant in <except.h> | Exception class |
---|---|---|
0 | _C1_BINARY_OVERFLOW | Binary overflow or divide by zero |
1 | _C1_DECIMAL_OVERFLOW | Decimal overflow or divide by zero |
2 | _C1_DECIMAL_DATA_ERROR | Decimal data error |
3 | _C1_FLOAT_OVERFLOW | Floating-point overflow or divide by zero |
4 | _C1_FLOAT_UNDERFLOW | Floating-point underflow or inexact result |
5 | _C1_INVALID_FLOAT_OPERAND | Floating-point invalid operand or conversion error |
6 | _C1_OTHER_DATA_ERROR | Other data error, for example edit mask |
7 | _C1_SPECIFICATION_ERROR | Specification (operand alignment) error |
8 | _C1_POINTER_NOT_VALID | Pointer not set/pointer type invalid |
9 | _C1_OBJECT_NOT_FOUND | Object not found |
10 | _C1_OBJECT_DESTROYED | Object destroyed |
11 | _C1_ADDRESS_COMP_ERROR | Address computation underflow or overflow |
12 | _C1_SPACE_ALLOC_ERROR | Space not allocated at specified offset |
13 | _C1_DOMAIN_OR_STATE_VIOLATION | Domain/State protection violation |
14 | _C1_AUTHORIZATION_VIOLATION | Authorization violation |
15 | _C1_JAVA_THROWN_CLASS | Exception thrown for a Java™ class. |
16-28 | _C1_VLIC_RESERVED | VLIC reserved |
29 | _C1_OTHER_MI_EXCEPTION | Remaining MI-generated exceptions (other than function check) |
30 | _C1_MI_GEN_FC_OR_MC | MI-generated function check or machine check |
31 | _C1_MI_SIGEXP_EXCEPTION | Message generated via Signal Exception instruction |
32-39 | n/a | reserved |
40 | _C2_MH_ESCAPE | *ESCAPE |
41 | _C2_MH_NOTIFY | *NOTIFY |
42 | _C2_MH_STATUS | *STATUS |
43 | _C2_MH_FUNCTION_CHECK | function check |
44-63 | n/a | reserved |