uipath sequence传递参数_手把手教程系列 | UiPath之必杀技Try Catch

a6447225bf874065a5d8cee2769dc753

在众多的编程语言中,开发程序都离不开Try Catch,UiPath中也有Try Catch。

程序框架中依靠Try Catch来保障程序在运行出错时,不仅可以获知运行错误,还能确保其他程序正常运行。

在今天的手把手教程系列,我们带你详细学习下Try Catch。

一 1

用法(下面有截图)

  1. 将开发好的流程放入Try Catch的Try中;
  2. 在Try Catch范围内,定义一个名为ProcessError的变量,类型是System.Exception;
1ca485b89d2b47f681f1d0ec083b7b84
  1. 然后,在Catches中定义一个名为exception异常变量(用于在出现异常时,获取异常信息),并通过Assign,将exception赋值给ProcessError;
  2. 最后,在Finally中放个if Activity,if Activity的Condition设置为:ProcessErroris nothing,then中放流程执行成功的操作,else中放执行失败时要做的操作。

下图是上面用法的Demo截图,图中用红色箭头标明了流程发生异常时,传递异常的路线:

981b75697b73413e9b2e70445b29fe8f

二 1

总结

  • 程序中不需要太多的Try Catch,一般一个足够,除非特殊用途;
  • 使用Try Catch,需要对它完全理解后使用,否则,若只把它当成一个隐藏错误的方法,那可是对Try Catch的最大误解。

你误解Try Catch了吗?

73d7d6c4523e4b8398a3b1f8a49d1eb4

如果需要详细学习Try Catch,可看下面的中文翻译(部分内容根据自己理解做了适当修改),并可到其英文网址(https://activities.uipath.com/docs/try-catch)下载写好的例程。

三 1

附:UiPath网站Try Catch中文翻译

Try Catch

全称:System.Activities.Statements.TryCatch

用途:捕获你设计的流程中的指定异常类型,并显示错误通知或将其解除并继续执行。

外观:

4da5171e69914af09cc503b53a422d89

由三部分组成:

1.Try - 放编写的流程(该流程有可能发生你未写入流程逻辑的错误)。

2.Catches - 发生错误时要执行的Activity或Activity集。异常 - 要查找的异常类型。请注意,您可以添加多个类型的异常。

b72b2d5517b149b093059792c176fe03

3.Finally- Try Catch块之后要执行的Activity或Activity集。只有在没有抛出异常或发生错误并且在Catch部分中捕获时,才会执行此部分。

注意:

如果Activities放在Try Catch的Try部分中,并且Continue On Error属性的值为True,则在执行项目时不会捕获任何错误;举例如下:

99909c14dbae4abe98a2d0cbf09f0047

属性

DisplayName - Activity的显示名称。Private - 如果选中,则不再以Verbose级别记录变量和参数的值。

技巧:按快捷键“Ctrl + T”,将所选的activity置于Try Catch的Try部分内。

示例

为了更好地理解Try Catch的用法,我们创建了一个自动化程序,它从随机名称生成器网站收集多个名称并将它们写入Excel电子表格中。

点击UiPath英文网站的这里,可以下载初始工作流程。(运行会出程序异常)

Build DataTable 创建一个用于存储所收集名称的表。

调用另一个工作流来读取Web数据。

最后,Excel application scope用于在Excel文件中写入收集的信息。

首先,让我们运行自动化来检查是否有任何错误。

请注意,将显示“工作流异常”界面:

d383c0f5237b417d9b62bf4105c61482

该异常类型字段告诉我们是什么问题,在Try Catch的Catches部分中,用作在工作流程执行期间查找的异常类型。

正如您在上面的屏幕截图中看到的,在运行示例工作流时,AttachBrowser容器选择器似乎存在问题。问题是选择器无法使用“生成随机名称 - 伪名称生成器”名称来标识浏览器窗口。

要捕获这个异常,需要进行以下操作:

1.从Activities面板中拖一个“Try Catch”到流程编辑区。

2.在Try Catch的Try部分中放一个Invoke(引用了一个文件叫readWebData.xaml)。Try会监视Invoke,当它出现异常时进行捕捉。

9a7638376a4044cea089b908eabf38fb

3.在“Catches”部分中,从下拉列表中选择UiPath.Core.SelectorNotFoundException。如果没有找到这个异常类型,点击“Browse and Select a .Net Type”,在弹出窗口中找到它。

c8c72455132b4b9bbb34551aa5fb6bbb

4.可选操作。您可以在“Catches”部分中添加一个“Message Box”Activity,在Message Box的“内容”字段中填写引号之间的信息性消息,在我们的示例中“Internet Explorer”已关闭。

它现在将打开以继续工作流程执行。这意味着每当捕获到异常时,都会显示此消息框,以通知用户浏览器即将打开,以便成功执行工作流。

6ec360c3cafe495fb62d494e02728314

5.拖个“Element Exists”Activity到“Finally”部分中。

“ElementExists”Activity用于检查InternetExplorer是否打开了我们需要的网址https://www.fakenamegenerator.com。

6.打开Internet Explorer并访问前面提到的网址。

7.使用Indicate on screen功能选择Internet Explorer窗口。

8.选择“Element Exists”Activity并编辑其选择器,选择器内容是这样。

此选择器确保“Element Exists”Activity仅查找上述页面打开的InternetExplorer窗口。

9.在Output属性中,创建一个具有相关名称的变量,例如browser。这是一个布尔变量,可帮助您确定Internet Explorer是否在指示的页面上处于打开状态。

10.在“Element Exists”Activity下添加If Activity。如果Internet Explorer已关闭(通过browser的值来判断),则打开Internet Explorer,否则继续工作流。

11.在If Activity的Condition中,写入browser=false。此条件用于验证浏览器是否已打开,并根据其值执行其他操作。

12.在Then部分中拖入OpenBrowser Activity。如果满足条件(浏览器已关闭),则使用“Open Browser”Activity打开它,从而不影响工作流程。

13.在“Open Browser”的Url字段中键入https://www.fakenamegenerator.com。

14.Else部分留空,以便如果已在Internet Explorer打开指定的网站,则工作流按预期继续。

7f8ad077315f4eabaa6f91ed026062d1

15. 运行工作流并注意以下其中一项:

  • 如果Internet Explorer已关闭 - 将通知用户Internet Explorer即将打开,以便工作流程可以继续。浏览器打开,所有预期的数据都被收集并写入Excel文件。
  • 如果Internet Explorer已打开 - 工作流程按预期执行。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值