机器人
2023.4
False
横幅背景图像
机器人用户指南
上次更新日期 2024年2月27日

停止流程

使用“软停止”或“终止”命令来停止流程。

“软停止”命令

“软停止”命令会标记处于“应停止”状态的流程。如需查询仍在执行的工作流是否存在这种状态,请使用“应停止”活动。工作流会明确处理并结束这种状态。如果“应停止”状态未处理,工作流则不会自动停止。有关利用“软停止”的方案,请参阅 REFramework

“停止”命令专为 Unattended 自动化而设计,仅在 Orchestrator 中可用。在 Orchestrator 中,“软停止”命令又名“停止”。

“终止”命令

“终止”命令会先向工作流发送“取消”请求。工作流“取消”请求不同于“应停止”,“取消”是由工作流自动处理的工作流信号。该信号会导致活动以级联方式取消,同时允许工作流的“Finally”块执行清理步骤。如果“取消”信号未在三秒内使工作流停止,则通过在执行过程中的任何时间点强制停止任何正在运行的活动来终止作业。

“终止”命令专为 Attended 自动化而设计,适用于 Orchestrator 和桌面客户端以及 API(例如 AssistantStudioRobotJS)。在桌面客户端中,“终止”命令又名“停止”。

REFramework 流程方案

REFramework 利用“软停止”命令。

当一个流程停止时,系统将跳过包含错误逻辑的块,并执行最终块。这将导致 BusinessErrorSystemError 的值保持为 null,并且系统会将整个流程状态视为成功。描述的行为即为预期行为。

Try-Catch 方案

Try-Catch 工作流中,当流程停止时,即使事务实际上未完成,事务状态仍会显示为成功。

取消流程

机器人收到取消命令时,如果执行位于 TryCatch 块中,则跳至 Finally 块,以检查是否有任何错误。如果未发现错误,则 Finally 块便会认为执行已成功完成,原因是不存在失败事件(它们为空)。

终止流程

机器人收到终止命令时,如果执行位于 TryCatch 块中,它会先尝试取消流程,并跳至 Catch 块。如果在收到取消命令后 3 秒内,Finally 块中的逻辑未完成,则整个执行将终止,并且由于已经跳过 Catch 块,因此未在日志中记录任何错误,从而可视为整个流程已在日志中成功完成。

避免误报
  • 在完成流程逻辑之后,只能在 Try 块内将流程状态设置为 Successful
  • 在完成错误处理逻辑之后,只能在 Try 块内将状态设置为 Failed
  • Finally 块中应该只存在清除逻辑,因为无论执行成功与否,系统都会执行该逻辑。

确保错误逻辑得以执行

如果跳过包含错误逻辑的块,则 BusinessErrorSystemError 的值保留为 null,并且由于未记录任何错误,因此将整个过程状态视为 successful

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.