TryCatch 节点

本主题包含以下部分:

用途

使用 TryCatch 节点为异常处理提供特殊的处理程序。起先输入消息在此节点的 try 终端上路由,您必须连接到消息流的剩余非错误处理 节点。如果下游节点(可能是 Throw 节点)抛出异常,则 TryCatch 节点会将其捕获,并将原始消息路由到其 catch 终端。将 catch 终端进一步连接到其他节点以在异常发生后为消息提供错误处理。

通过该方法,异常会停止消息流处理,并不再影响任何进行中的事务。如果连接了 catch 输出终端,则将消息传播到那个终端。如果没有连接 catch 终端,则消息被废弃。

TryCatch 节点在工作台中由以下图标表示:

“TryCatch 节点”图标

在消息流中使用此节点

查看以下样本,了解如何使用此节点:

在使用 Compute 节点计算总和时使用 Throw 和 TryCatch 节点。您可以在总和计算超出“总计”字段的最大值时,创建发送给系统管理员的消息。

配置 TryCatch 节点

当您将 TryCatch 节点的实例放入消息流后,便可对它进行配置。

要进行配置,右键单击编辑器视图中的节点,然后单击属性。 会显示“描述”属性。

输入简短描述和/或详细描述。

单击应用在不关闭“属性”对话框的情况下更改 TryCatch 节点,或单击确定应用更改,同时关闭“属性”对话框。

单击取消以关闭对话框,并废弃对属性所作的所有更改。

现在,您必须连接节点的终端以确定它是如何在此消息流中操作的。

连接终端

TryCatch 节点没有影响其操作的可配置属性。您通过将 output 终端连接到消息流中的一系列节点来确定它如何操作。

  1. 在提供此消息处理的正常(无错误)阶段的一系列节点中将 try 终端连接到第一个节点。这可以是执行任何有效的处理的一个或多个节点的序列。它可以结束输出节点,但这不是必须的。
  2. 在提供此消息流的错误处理的一系列节点中将 catch 终端连接到第一个节点。这可以是执行任何有效的处理的一个或多个节点的序列。它可以结束输出节点,但这不是必须的。

    当在消息流中抛出异常时,无论通过显式使用 Throw 节点或 THROW ESQL 语句,还是在检测到错误(没有对消息流编程以进行处理)时通过代理提出隐式异常,控制都 返回到 TryCatch 节点。

    通过 catch 终端传播消息并执行您设计的错误处理。通过此终端传播的消息具有在异常抛出时所含的内容,包括 ExceptionList 中 的全部异常描述。

终端和属性

在以下表中描述了 TryCatch 节点终端。

终端 描述
In 接受供节点处理的消息的输入终端。
Catch 下游抛出异常并由此节点捕获时,消息将传播到的输出终端。
Try 未捕捉到消息时,消息将传播到的输出终端。

下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。

下表描述 TryCatch 节点“描述”属性。

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04850_