EGL 系统异常在整个代码中可用,但通常用于 onException 块。有关概述,请参阅异常处理。
每个 EGL 系统异常至少具有下列字段:
- code
- 一个标识异常的字符串;例如“com.ibm.egl.InvocationException”或等效的常量 SysLib.InvocationException
- description
- 一个说明异常含义的字符串
EGL 系统异常如下所示:
- SysLib.FileIOException
- 标识文件访问期间发生的错误。关系数据库的消息队列访问期间发生的错误不会导致此异常。特定于异常的字段如下所示:
- errorCode
- SysVar.ErrorCode 中还会返回 8 个字符的状态码;有关详细信息,请参阅 SysVar.ErrorCode
- fileName
- 要访问的文件的逻辑名;有关详细信息,请参阅资源关联和文件类型
- SysLib.InvocationException
- 标识 call 语句中发生的错误。
特定于异常的字段如下所示:
- errorCode
- SysVar.ErrorCode 中还会返回 8 个字符的状态码;有关详细信息,请参阅 SysVar.ErrorCode
- name
- 要调用的程序的名称。
- SysLib.LobProcessingException
- 标识处理类型为 LOB 或 CLOB 的字段期间发生的错误。特定于异常的字段如下所示:
- itemName
- 字段的名称
- operation
- 失败的 EGL 系统函数的名称
- resource
- 连接至该字段的文件(如果有的话)的名称
- SysLib.MQIOException
- 标识访问 MQSeries® 消息队列期间发生的错误。特定于异常的字段如下所示:
- errorCode
- SysVar.ErrorCode 中还会返回 8 个字符的状态码;有关详细信息,请参阅 SysVar.ErrorCode
- mqConditionCode
- MQSeries API 调用中的完成代码,如
VGVar.mqConditionCode 中所述
- name
- 要访问的队列的逻辑名;有关详细信息,请参阅资源关联和文件类型
- SysLib.SQLException
- 标识关系数据库的访问期间发生的错误。特定于异常的字段如下所示:
- sqlca
- SQL 通信区;有关详细信息,请参阅 SysVar.sqlca
- sqlcode
- SQL 返回码;有关详细信息,请参阅 SysVar.sqlcode
- sqlErrd
- 包含 6 个元素的数组,其中每个元素包含从上一个 SQL I/O 选项返回的相应
SQL 通信区(SQLCA)值;有关详细信息,请参阅 VGVar.sqlErrd
- sqlErrmc
- 有关通过 JDBC 以外的方式进行的数据库存取的,与 sqlcode 相关联的错误消息;有关详细信息,请参阅 VGVar.sqlErrmc
- sqlState
- 最近完成的 SQL I/O 操作的 SQL 状态值;有关详细信息,请参阅 SysVar.sqlState
- sqlWarn
- 包含 11 个元素的数组,其中每个元素包含在上一个 SQL I/O 操作的 SQL 通信区(SQLCA)中返回的警告字节,并且下标比
SQL SQLCA 描述中的警告编号大 1;有关详细信息,请参阅 VGVar.sqlState