极奇策RPA技术教程:Try-Catch(异常) (NodeTryCatch) - 自动化开发与配置详细指南

Try-Catch(异常)
📖 节点概述
用于捕获执行流中发生的异常。当执行信号进入 Exec 端口后,节点会触发 Try 输出端口。在后续执行过程中,如果任何节点抛出异常,执行流会自动跳转到 Catch 输出端口,从而实现对异常的集中处理。该节点为执行流控制节点,无数据输出。
💡 使用场景:
- 流程容错:在关键操作(如文件读写、HTTP请求、数据库操作)前包裹 Try-Catch,避免流程因异常中断。
- 降级处理:在 Catch 分支中执行备用逻辑(如使用默认值、重试、记录日志等)。
- 调试辅助:捕获异常后输出错误信息到日志,便于问题定位。
- 流程恢复:异常处理后,继续执行后续正常流程(需从 Catch 分支再连接到其他节点)。
🎮 实战连线指南:如何正确使用它?
节点有一个执行输入端口 Exec,两个执行输出端口:Try(正常执行分支)和 Catch(异常捕获分支)。
场景案例:安全读取配置文件
- 触发执行:上游节点(如【开始】或【信号触发】)连接到
Exec端口。 - 尝试执行:将
Try端口连接到【读取文件】节点,尝试加载config.json。 - 异常处理:如果文件不存在或解析失败,异常会被捕获,执行流自动进入
Catch分支。 - 降级逻辑:在
Catch分支中,使用【设置变量】节点将配置设为默认值{},并记录错误日志。 - 后续流程:从
Catch分支(或Try分支成功处)继续连接后续节点。
流程图示意:
[触发] → Try-Catch.Exec
├─ Try → 读取文件 → (成功) → 继续处理
└─ Catch → 使用默认配置 → 记录日志 → 继续处理
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 开始执行 Try-Catch 监控区域的信号。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Try | EXEC | 正常执行分支。应连接可能抛出异常的节点或子流程。 |
| Catch | EXEC | 异常捕获分支。当 Try 分支中的任何节点抛出异常时,执行流会立即跳转到此端口。 |
🔧 工作机制
- 当
Exec收到执行信号时,节点会创建一个异常捕获上下文。 - 然后触发
Try输出端口,开始执行后续节点。 - 如果
Try分支中的任何节点抛出异常(通过raise或引擎内部错误),异常会被该节点捕获。 - 捕获后,节点会立即触发
Catch输出端口(跳过 Try 分支中剩余的未执行节点)。 - 无论是否发生异常,执行流都会离开该节点(Catch 分支执行完毕后流程继续)。
- 如果 Try 分支中没有任何异常,则 Catch 端口不会被触发。
⚠️ 注意事项
- 异常范围:只捕获 Try 分支执行期间(从触发 Try 到该分支执行完毕)抛出的异常。Try 分支之外的异常不影响。
- 嵌套使用:Try-Catch 节点可以嵌套使用(如在 Catch 分支中再放置一个 Try-Catch)。
- 异常信息获取:当前版本节点本身不提供异常详情输出。如需获取异常信息(如错误消息),可使用【全局异常捕获】节点或通过上下文变量访问(取决于引擎实现)。
- Catch 分支后的流程:Catch 分支触发后,执行流会正常继续。建议在 Catch 分支中设置标志变量或默认值,避免后续节点因数据缺失而再次异常。
- 性能:异常捕获机制有一定开销,但仅在异常发生时明显,正常路径几乎无影响。
💎 小贴士:
- 将可能失败的节点(如【HTTP请求】、【读取文件】)放在 Try 分支中,将降级/补偿逻辑放在 Catch 分支中。
- 如果需要在 Try 分支中执行多个节点,按顺序连接即可,任何一个节点抛异常都会立即跳转到 Catch。
- 若 Try 分支中的节点没有产生异常,Catch 分支一直不会触发。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

