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

抛出异常
📖 节点概述
主动抛出一个异常,中断当前执行流。通常用于在检测到业务逻辑错误(如数据验证失败、权限不足、资源不足等)时,主动终止流程,并将错误信息传递给上游的异常捕获节点(如 Try-Catch)。该节点为执行节点,有执行输入端口,无输出端口(抛出异常后流程中断)。
💡 使用场景:
- 数据校验失败:从变量中获取的数据不符合预期(如年龄不在 0-120 范围内),主动抛出异常。
- 业务前置条件不满足:例如订单状态不是“待支付”时,抛出异常阻止后续发货操作。
- 外部调用返回错误:调用 API 后检查响应码,若非成功状态则抛出异常。
- 主动降级触发:在 Catch 分支中重新抛出异常,将错误向上传递。
- 调试辅助:在关键位置主动抛出异常,测试异常处理逻辑是否正确。
🎮 实战连线指南:如何正确使用它?
节点有一个执行输入端口 Exec 和一个数据输入端口 异常消息(可选)。收到执行信号后立即抛出异常。
场景案例:校验用户年龄合法性
- 获取年龄:从【变量获取】节点读取
age。 - 条件判断:使用【条件判断】节点检查
age是否在 0-120 之间。 - 抛出异常:如果年龄不合法,将
Exec连接到【抛出异常】,并在“异常消息”中输入"年龄无效: {age}"(可使用【格式化字符串】动态构造消息)。 - 上游捕获:该节点所在位置应已被 Try-Catch 节点包裹,异常会被 Catch 分支捕获并处理。
流程图示意:
[开始] → 获取年龄 → [条件判断]
├─ 合法 → 继续处理
└─ 不合法 → 抛出异常 → (被 Try-Catch 捕获)
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | 触发抛出异常的执行信号。 |
| 异常消息 | STRING | 可选的异常描述文字。如果为空,使用默认消息"主动抛出的异常"。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 异常消息 | 单行文本框 | 手动输入异常消息文本。连线时优先使用连线值。 |
📤 输出引脚
无输出引脚。节点抛出异常后,执行流立即中断,控制权转移到最近的 Try-Catch 节点的 Catch 分支(若存在),否则流程终止。
🔧 行为说明
- 节点收到
Exec信号后,读取异常消息的值。 - 使用该消息作为参数构造
Exception对象并抛出。 - 异常抛出后,当前执行路径上的后续节点不再执行。
- 如果该节点被包裹在 Try-Catch 节点的 Try 分支内,异常会被捕获并触发 Catch 分支。
- 如果没有 Try-Catch 节点捕获,整个流程将停止,并显示错误。
⚠️ 注意事项
- 异常消息建议:提供明确的错误信息,包含上下文(如变量值),便于后续 Catch 分支诊断问题。
- 流程终止:一旦抛出异常且未被捕获,流程将无法继续。建议在敏感操作前使用 Try-Catch 包裹。
- 性能:抛出异常有一定开销,但不频繁使用时影响可忽略。
- 无输出端口:下游节点不可能从该节点接收执行信号,因此不要在它后面连接任何节点(除非是 Catch 分支中的后续处理,但异常已抛出,后续节点不会执行)。
💎 小贴士:
- 异常消息支持动态构造,可以先使用【格式化字符串】节点生成消息文本,再连接到
异常消息端口。- 结合 Try-Catch 节点,可以实现自定义的业务异常处理流程。
- 在调试阶段,可以使用抛出异常来快速终止错误路径,避免污染数据。
- 该节点颜色为红色,寓意危险操作,使用时应谨慎。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

