ExceptionList 树结构

ExceptionList 树是逻辑消息树的一部分,消息流在其中编写有关处理消息时所发生的异常的信息。

ExceptionList 树的根称为 ExceptionList,该树由一组零个或多个异常描述组成。如果发生异常,就会由消息流植入 ExceptionList 树。如果在处理消息流期间没有发生异常情况,则与该消息关联的异常列表只由一个根元素。即它实际上是一个空的异常列表。

发生异常后,此 ExceptionList 树可由接收消息的消息流中的其他节点访问。您只能在 Compute 节点中修改它的内容。

如果发生异常情况,消息处理被暂挂并抛出异常。控制被传递回较高级别,即,一个封闭的捕捉块。并会构建 ExceptionList 以描述故障情况,且会通过异常处理消息流路径把整个消息与 LocalEnvironment 和新植入的 ExceptionList 一起传播。

ExceptionList 的子代始终为 RecoverableException。虽然在某些情况下可能会生成多于一个子代,但根通常只有一个子代。ExceptionList 的子代包含多个子代,其中最后一个提供了特定于异常类型的更多信息,它可以是以下某个异常:

RecoverableException 异常列表的结构如下所示:



可以将异常描述结构重复并嵌套以产生 ExceptionList 树。在该树中:

树中的子代采取的形式为许多提供异常详细信息的名称-值元素及零个或多个名称为 Insert 的名称元素。名称-值元素中标识的 NLS(本地语言支持)消息号标识了 WebSphere Message Broker 错误消息。Insert 值用于替换该消息内的变量,并提供有关导致异常发生的原因的更多详细信息。

下表描述了上图所显示的异常列表中的名称-值元素。

名称 类型 描述
File1 字符串 C++ 源文件名
Line1 整数 C++ 源文件行号
Function1 字符串 C++ 源函数名
Type2 字符串 源对象类型
Name2 字符串 源对象名
Label2 字符串 源对象号
Text1 字符串 附加文本
Catalog3 字符串 NLS 消息编目名4
Severity3 整数

1 = 信息
2 = 警告
3 = 错误

Number3 整数 NLS 消息号4
Insert3 类型 整数 值的数据类型:

0 = 未知
1 = 布尔
2 = 整数
3 = 浮点
4 = 十进制
5 = 字符
6 = 时间
7 = GMT 时间
8 = 日期
9 = 时间戳记
10 = GMT 时间戳记
11 = 时间间隔
12 = BLOB
13 = 位数组
14 = 指示字符

Text 字符串 数据值
注:
  1. 请勿将 File、Line、Function 和 Text 元素用于异常处理的判定。这些元素确保可将信息写入日志以供 IBM 服务人员使用。
  2. Type、Name 和 Label 元素定义发生异常情况时处理消息的对象(通常是消息流节点)。
  3. Catalog、Severity 和 Number 元素定义 NLS 消息:包含所显示的两个名称-值元素的 Insert 元素定义插入到 NLS 消息中的操作。
  4. NLS 消息编目名和 NLS 消息号指可转换的消息编目和消息号。

当消息流处理完成时,会废弃 ExceptionList 树。

航空公司订票样本使用 XML_Reservation 消息流中的 ExceptionList 来将错误信息传递到 Throw 节点,该节点会生成一条消息,其中包含了来自 ExceptionList 的信息。

相关概念
消息流概述
异常之后的消息树内容
消息建模
相关任务
访问 ExceptionList 树
开发消息流
处理消息流中的错误
抛出异常
编写 ESQL
编写 Java
相关参考
内置节点
Compute 节点
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac00540_