UiPath Documentation
maestro
latest
false
Maestro 用户指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

处理错误

将失败的节点路由到错误处理程序,记录错误详细信息,重试暂时失败,并正常终止不可恢复的错误。

您将构建的内容:这种工作流会将故障节点路由到单独的路径,使用有用的上下文记录故障,在有意义的情况下重试暂时性故障,并在错误无法恢复时完全终止。学习完本指南后,您将拥有一个可以放入任何现有工作流中的模式。

需要满足的条件

  • 有权访问 Maestro Flow 的 UiPath Automation Cloud 帐户。
  • 现有的“流”工作流,其中至少有一个可能失败并公开错误句柄的节点,例如“HTTP 请求”或“提取节点”。

使用的节点

  • HTTP 请求— 此示例中易于失败的节点
  • 脚本— 记录错误详细信息
  • 终止— 如果出现不可恢复的错误,以Failed状态结束工作流

步骤

1. 连接节点的错误句柄

默认情况下,发生故障的节点会停止整个流程。要改为处理故障:

  1. 在画布上打开工作流,然后选择容易失败的节点。
  2. 错误句柄(节点右下角的连接器)拖动到新的脚本节点。

这将创建错误路径。当节点发生故障时,系统将沿此路径路由执行,而不会停止流程。(未公开错误句柄的节点不支持错误处理 — 发生故障时,流程会停止,并在“故障”选项卡中显示。)

2. 记录错误

在错误路径上的“脚本”节点中,读取$vars.<node>.error处的错误对象:

const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };

仅在错误路径上填充错误对象。有关其完整字段引用,请参阅错误处理

3. 重试暂时性失败(可选)

如果故障可能是暂时性故障(网络故障或速率限制),请在放弃之前重试。“HTTP 请求”节点具有内置重试功能:在其属性中配置重试计数,并且在触发错误句柄之前,它会重新尝试指定次数的请求。只有最终失败会路由到错误路径。

警告:

仅重试幂等操作。重试具有副作用(写入数据、发送消息)的节点可能会创建重复项。

4. 无法恢复时终止

在错误路径上的“脚本”节点后,添加“终止”节点。设置:

  • 状态Failed
  • 消息→ 包含错误的说明,例如$vars.httpRequest1.error.message

这会将失败记录在执行历史记录中,并提供有用的描述,在“观察运行”中可见。

5. 测试和调试

要有意触发错误路径:

  1. 请暂时将“HTTP 请求”节点中的 URL 设置为无效值(例如https://this-will-fail.example.com )。
  2. 运行测试并验证执行追踪沿错误路径路由。
  3. 还原正确的 URL。

在追踪中检查脚本节点的控制台输出,以确认已记录错误详细信息。

结果

您的工作流将故障路由到错误路径,记录错误详细信息,可选择重试暂时性故障,然后以描述性故障状态完全终止。您可以通过在“HTTP 请求”节点中使用无效 URL 并检查执行追踪记录中“脚本”节点的控制台输出来确认错误路径有效。

扩展此工作流

  • 发送失败警示— 在错误路径上的“终止”节点之前,添加 HTTP 请求或集成节点,以通知 Slack 频道,或者创建事件工单。
  • 继续而不是终止— 如果步骤不关键,让错误路径设置回退值并重新加入主路径,而不是终止。
  • 在所有位置应用此模式——有关更多模式(记录并继续、回退值、升级),请参阅错误处理参考资料。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新