处理组合件中的错误

使用组合件的 catch 部分来描述组合件执行期间所抛出错误的处理。

关于本任务

注:
  • 此任务与配置 OpenAPI 3.0 API 定义相关。 有关如何配置 OpenAPI 2.0 API 定义的详细信息,请参阅 编辑 OpenAPI 2.0 API 定义
  • OpenAPI 3.0 API 仅支持 DataPower® API Gateway,而不支持 DataPower Gateway (v5 compatible)
  • 有关当前 OpenAPI 3.0 支持限制的详细信息,请参阅 IBM® API Connect 中的 OpenAPI 3.0 支持

您可以使用 API Designer UI 应用程序或使用基于浏览器的 API Manager UI 来完成此任务。

组合件的 catch 部分用于在组合件执行期间抛出错误的实例中实施组合件。 例如,程序可能包含一个 throw 元素,API 调用方可能无法通过身份验证,或者策略可能无法正确执行。 可使用不同的 catch 处理每个错误,并且每个 catch 可处理多个状态错误。

过程

要创建 catch 并在其中添加元素,请完成以下步骤:
  1. 在导航窗格中,单击 导航窗格中的 "开发" 图标 “开发 ”,然后选择 “API ”选项卡
    此时将打开 " 开发 " 页面。
  2. 单击要应用 catch 的 API 定义的标题。
  3. 选择 网关 选项卡,然后单击导航窗格中的 策略
  4. 将画布的菜单栏中的 显示捕获 开关设置为 显示 位置。
  5. 在画布上点击 “捕获” 按钮,或点击“捕获 ”图标 "捕获" 图标 (如果显示的话)。
    这将打开 API catch 的属性工作表。
  6. 要添加在抛出未捕获的错误时执行的缺省 catch ,请单击 添加缺省 catch
    注: 如果在另一个 catch 之前具有缺省 catch ,那么即使抛出另一个 catch 的错误,缺省 catch 也会激活。
  7. 要添加新 catch ,请单击 添加 catch
  8. 要指定 catch 语句适用于哪些错误,请使用 “选择错误 ”字段选择相应的错误。
  9. 可选: 若要从 catch 语句中移除某个错误情况,请在 “选择错误 ”下拉菜单中取消选中相应的复选框。 要清除“catch”中的所有错误情况,请点击 “选择错误 ”字段中与错误总数相对应的叉号。
  10. 可选: 若要更改捕获项的优先级,请使用 “向上移动 "上移" 图标 ”或 “向下移动"下移" 图标 图标。
    如果多个 catch 处理一个错误案例,那么将应用列表开头的 catch。
  11. 要从调色板将一个元素添加到捕获框中,请在装配流程中的相应 圆圈内的加号 位置单击加号图标。 点击您想要应用到“catch”中的元素。
  12. 单击保存以保存更改。

下一步

如果您添加了针对 ConnectionErrorSOAPErrorOperationError 的 catch 语句,则必须在程序集中的策略 Invoke“发生错误时停止 ”设置中添加相同的错误。 否则,如果错误发生在 Invoke 策略执行过程中,且未被捕获,则允许策略执行完成,并继续执行程序流。 有关配置策略 Invoke 的详细信息,请参阅 “Invoke”

有关程序集可能返回且可供 catch 函数捕获的所有错误的详细信息,请参阅 “程序集 catch 语句支持的错误情况 ”。