- 发行说明
- 入门指南
- UiPath Assistant
- 安装和升级
- 机器人类型
- 机器人组件
- 许可
- 将机器人连接到 Orchestrator
- 流程与活动
- 日志记录
- Robot JavaScript SDK
- 特定场景
- 故障排除
停止流程
使用“软停止”或“终止”命令来停止流程。
“软停止”命令会标记处于“应停止”状态的流程。如需查询仍在执行的工作流是否存在这种状态,请使用“应停止”活动。工作流会明确处理并结束这种状态。如果“应停止”状态未处理,工作流则不会自动停止。有关利用“软停止”的方案,请参阅 REFramework。
“停止”命令专为 Unattended 自动化而设计,仅在 Orchestrator 中可用。在 Orchestrator 中,“软停止”命令又名“停止”。
“终止”命令会先向工作流发送“取消”请求。工作流“取消”请求不同于“应停止”,“取消”是由工作流自动处理的工作流信号。该信号会导致活动以级联方式取消,同时允许工作流的“Finally”块执行清理步骤。如果“取消”信号未在三秒内使工作流停止,则通过在执行过程中的任何时间点强制停止任何正在运行的活动来终止作业。
“终止”命令专为 Attended 自动化而设计,适用于 Orchestrator 和桌面客户端以及 API(例如 Assistant、Studio、RobotJS)。在桌面客户端中,“终止”命令又名“停止”。
REFramework 利用“软停止”命令。
BusinessError
和 SystemError
的值保持为 null
,并且系统会将整个流程状态视为成功。描述的行为即为预期行为。
Try-Catch 方案
在 Try-Catch 工作流中,当流程停止时,即使事务实际上未完成,事务状态仍会显示为成功。
取消流程
当机器人收到取消命令时,如果执行位于 Try 或 Catch 块中,则跳至 Finally 块,以检查是否有任何错误。如果未发现错误,则 Finally 块便会认为执行已成功完成,原因是不存在失败事件(它们为空)。
终止流程
当机器人收到终止命令时,如果执行位于 Try 或 Catch 块中,它会先尝试取消流程,并跳至 Catch 块。如果在收到取消命令后 3 秒内,Finally 块中的逻辑未完成,则整个执行将终止,并且由于已经跳过 Catch 块,因此未在日志中记录任何错误,从而可视为整个流程已在日志中成功完成。
避免误报
- 在完成流程逻辑之后,只能在 Try 块内将流程状态设置为
Successful
。 - 在完成错误处理逻辑之后,只能在 Try 块内将状态设置为
Failed
。 - Finally 块中应该只存在清除逻辑,因为无论执行成功与否,系统都会执行该逻辑。