异常类

在 CL 程序中,可以根据 异常标识来监视选定的异常组或单个异常。 异常处理程序将监视的唯一 class2 值为 _C2_MH_ESCAPE, _C2_MH_STATUS, _C2_MH_NOTIFY和 _C2_MH_FUNCTION_CHECK。 有关使用 #pragma 异常处理程序伪指令的更多信息,请参阅 ILE C/C++ Compiler Reference。 此表定义您可以指定的所有异常类。

表 1. 异常类
位的位置 < except.h > 中的标题文件常量 异常类
0 _C1_BINARY_OVERFLOW 二进制溢出或除以零
1 _C1_DECIMAL_OVERFLOW 十进制溢出或除以零
2 _C1_DECIMAL_DATA_ERROR 十进制数据错误
3 _C1_FLOAT_OVERFLOW 浮点溢出或除以零
4 _C1_FLOAT_UNDERFLOW 浮点下流或不精确结果
5 _C1_INVALID_FLOAT_OPERAND 浮点无效操作数或转换错误
6 _C1_OTHER_DATA_ERROR 其他数据错误,例如编辑掩码
7 _C1_SPECIFICATION_ERROR 规范 (操作数对齐) 错误
8 _C1_POINTER_NOT_VALID 未设置指针/指针类型无效
9 _C1_OBJECT_NOT_FOUND 找不到对象
10 _C1_OBJECT_DESTROYED 毁坏的对象
11 _C1_ADDRESS_COMP_ERROR 地址计算下溢或溢出
12 _C1_SPACE_ALLOC_ERROR 未在指定的偏移量处分配空间
13 _C1_DOMAIN_OR_STATE_VIOLATION 域/状态保护违例
14 _C1_AUTHORIZATION_VIOLATION 授权违例
15 _C1_JAVA_THROWN_CLASS 针对 Java™ 类抛出异常。
16-28 _C1_VLIC_RESERVED VLIC 保留
29 _C1_OTHER_MI_EXCEPTION 其余 MI 生成的异常 (功能检查除外)
30 _C1_MI_GEN_FC_OR_MC MI 生成的功能检查或机器检查
31 日 _C1_MI_SIGEXP_EXCEPTION 通过 "信号异常" 指令生成的消息
32-39 不适用 保留的
40 _C2_MH_ESCAPE * 转义
41 _C2_MH_NOTIFY *NOTIFY
42 _C2_MH_STATUS * 状态
43 _C2_MH_FUNCTION_CHECK 功能检查
44-63 不适用 保留的