activities
latest
false
UiPath logo, featuring letters U and I in white
工作流活动
Last updated 2024年11月13日

Try Catch 异常处理

System.Activities.Statements.TryCatch

描述

在特定序列或活动中捕获指定的异常类型,并显示错误通知或关闭该通知,然后继续执行工作流。

Try Catch” 活动中可以使用的Catch数量没有限制。 此活动需要添加至少一个捕获点。

项目兼容性

Windows - 旧版 | Windows | 跨平台

配置

活动主体包含以下三个字段:

  • 尝试 ” - 执行的可能引发错误的活动。
  • 捕获 - 发生错误时要执行的活动或活动集。
    • 异常 - 要查找的异常类型。 您可以添加多个异常。
  • 最后 ” - 在执行“ Try ” 和“ Catches ” 块后要执行的活动或活动集。 仅当未引发异常或发生错误并在“ 捕获 ”部分中捕获时,才会执行此部分。



    备注:
    • 如果活动的“ 尝试 ”部分中包含,并且“出错时 继续 ”属性的值为“True”,则系统在执行项目时不会捕获任何错误。
    • 尝试捕获” 活动不会捕获致命异常,例如:
      • FatalException
      • OutOfMemoryException
      • ThreadAbortException
      • FatalInternalException

属性

常见
  • “显示名称”- 活动的显示名称。
其他
  • “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。

    注意: 按“Ctrl + T”会将所选活动置于“ 尝试捕获” 活动的“尝试”部分中。

“Try Catch 异常处理”活动使用示例

为了更好地了解“ Try Catch” 活动的重要性,我们创建了一个自动化程序,该自动化程序从随机名称生成器网站收集多个名称,并将其写入 Excel 电子表格。

注意:由于技术限制,如果异常发生在调用的工作流中,则 Try Catch 异常处理方案中报告的异常来源可能会有所不同。

构建数据表” 活动用于创建用于存储收集到的名称的表格。 将调用另一个工作流来读取网页数据。 最后,使用“ Excel 应用程序作用域 ”活动将收集的信息写入 Excel 文件。

首先,我们运行自动化以检查是否存在任何错误。 请注意,系统将显示“ 工作流异常 ” 窗口。 “ 异常类型 ” 字段告诉我们问题所在。 这在“ 尝试捕获 ”的“捕获”部分中用作要在工作流执行期间查找的异常类型。



如上面的屏幕截图所示,运行示例工作流时,“ 附加浏览器 ”容器选取器似乎存在问题。 问题在于选取器无法识别名称为“生成随机名称 - 假名生成器”的浏览器窗口。

如要捕获此异常,我们需要执行以下操作:

  1. 将“ Try Catch” 活动从“ 活动 ”面板中拖动到“ 调用”工作流 活动上方。
  2. 将“ 调用”工作流 活动放置在“ Try Catch” 活动的“尝试”部分中。 这将监视“ 调用”工作流 活动,以防引发错误。



  3. 在“ 捕获 ” 部分中,从下拉列表中选择 UiPath.Core.SelectorNotFoundException 异常。 如果不存在,您可以在“ 浏览并选择 .Net 类型 ” 窗口中找到它。


  4. (可选)您可以在“ 捕获 ”部分添加“消息框”活动。 您可以在“ 内容 ” 字段中填写引号之间的信息性消息,在我们的示例中为“Internet Explorer 已关闭。 它现在将打开以继续执行工作流”。 这意味着,只要捕获到异常,就会显示此消息框,以通知用户即将打开浏览器,以便成功执行工作流。



  5. 拖动“ 最后 ”部分中的“存在元素”活动。 这用于检查是否在相关页面 (https://www.fakenamegenerator.com) 上打开了 Internet Explorer。
  6. 打开 Internet Explorer 并访问上文提到的页面。
  7. 使用“ 在屏幕上指示” 功能选择 Internet Explorer 窗口。
  8. 选择“ 存在元素” 活动并编辑其选取器,使其如下所示 <wnd app='iexplore.exe' title='Generate a Random Name - Fake Name Generator - Internet Explorer' />。 此选取器可确保“ 存在元素” 活动仅查找打开了上述页面的活动 Internet Explorer 窗口。
  9. 在“ 输出 ” 属性中,创建一个具有相关名称的变量,例如 browser。 这是一个布尔变量,可帮助您确定 Internet Explorer 在指定页面上是否处于活动状态。
  10. 在“ 存在元素” 活动下添加“如果”活动。 这用于在 Internet Explorer 关闭时打开它,否则将继续工作流。
  11. 在“ 条件” 字段中,写入 browser=false。 此条件用于验证浏览器是否已打开,并根据其值执行其他操作。
  12. 在“ Then ”部分中拖动“打开浏览器”活动。 如果满足 条件 (浏览器已关闭),则使用“ 打开浏览器 ”活动将其打开,而不会影响工作流。
  13. 在“ URL ”字段中,键入 https://www.fakenamegenerator.com。
  14. 将“ 其他 ”部分留空,以便在指定网站上已打开 Internet Explorer 时工作流按预期继续。



  15. 运行工作流,并注意以下任一情况:
  • 如果 Internet Explorer 处于关闭状态:系统会通知用户即将打开 Internet Explorer,以继续执行工作流。之后将打开浏览器,收集所有预期数据并将其写入 Excel 文件。
  • 如果 Internet Explorer 已打开 - 工作流将按预期执行。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。