有时,自动化程序可能无法执行。为了处理此类情况,我们使用异常处理活动。在本章中,我们将从UiPath中可用的各种类型的异常处理方法、您可能遇到的异常以及如何处理它们开始。我们还将学习日志记录。本章涉及的一个重要主题是调试,以检查工作流是否正常工作,并更正任何错误。
在我们开始之前,让我们看看本章将涉及的主题:
异常处理是处理程序或过程未能执行的进程的异常的一种方法。
为了处理程序中的异常,考虑的最佳实践是使用Try-catch活动。
可以在Activities(活动)面板中找到Try-catch(尝试捕获)活动。通过将Try-catch活动拖放到工作区中,我们可以处理异常。为了处理Try-catch块中的错误,我们可以将整个过程分为四个部分,以使其更简单:
让我们构建一个Try-catch块来处理异常,具体步骤如下:






实现异常处理使机器人能够在各种可能的情况下工作,并处理可能出现的任何异常。在使用UiPath时,我们通常会遇到一些常见的例外情况。
在使用UiPath时,尤其是在web上,我们可能会遇到这种类型的错误。这是因为由于网页的动态行为,找不到UI元素。为了处理这个异常,我们必须对选择器属性进行更改,或者必须向选择器添加新的属性,以便可以很容易地找到UI元素。例如,如果我们有一个动态变化的变量,我们可以使用通配符,这样机器人就可以很容易地找到它。如下面的屏幕截图所示,我们可以使用通配符(在本例中为*)编辑选择器的动态属性。另一种方法是将其连接到活动元素:

在UiPath中工作时,我们可能会遇到运行时错误。要纠正这些错误,最佳实践之一是使用Try-catch活动,该活动可用于在运行时处理异常。通过在catch块中保留一个备选方案,我们也可以克服错误这是我们以前遇到的。
因此,将序列或工作流放入Try-catch活动将有助于处理运行时异常。
当没有提供某个变量所需的默认值时,通常会发生这种类型的错误。在这种情况下,我们需要为所需的变量提供一个默认值,如下面的屏幕截图所示。
在以下屏幕截图中显示的空白区域中,只需键入变量的默认值即可克服此错误:

当我们试图通过超出范围的索引迭代数组元素时,就会出现此错误。当我们不知道数组的大小,而只是随机键入索引来访问元素时,就会发生这种情况。
要解决此问题,我们必须检查数组或集合列表的索引大小。
由于找不到图像,因此引发了此类型的异常。这可能是由于环境的改变,例如分辨率或主题设置。在这种情况下,使用一些选择器属性或指示锚点会很好地工作:

如前一张截图所示,当我们无法正确识别图像时,Indicate Anchor将帮助我们指示附近的UI元素,以便记录器能够识别正确的图像。
当我们尝试使用Click活动的环境不支持Simulate或Send消息活动(用于单击UI元素)时,就会发生这种类型的错误。
有时,可能会选中SimulateClick或SendWindowMessages。在这两种情况下,当抛出异常时,我们只需要取消选中相应的框。
UiPath有一个多流程体系结构,可以在执行器中单独执行每个工作流。执行器由UI机器人管理。因此,如果任何执行器停止工作,那么整个过程将不会受到影响。
客户端日志基本上使服务器能够记录连接。内容提供商可以在各种场景中使用这些日志,例如生成账单、跟踪媒体服务器使用情况,或者根据客户端服务器的速度提供适当质量的内容。
对于UiPath中的客户端日志记录,我们有一个NLog配置文件,可以轻松灵活地与数据库、服务器或任何其他NLog目标集成。日志记录可以使用该NLog.Config文件配置。UiPath Studio、Robot和工作流执行在客户端生成日志消息:
我们可以通过单击EXECUTE选项中的“打开日志”来访问存储的日志。
默认情况下,这些日志保存在%Local App%\UiPath\Logs:
如果已配置UiPath服务器,则执行过程中生成的所有日志也将发送到服务器。
您可以随时按下屏幕截图 CTRL+PrtScrn。
UiPath Studio提供了各种调试技术,用于检查工作流是否成功运行,或找出错误以进行纠正。
在UiPath窗口的顶部,我们可以看到EXECUTE块内的各种可用调试方法,如以下屏幕截图所示:

如前面的屏幕截图所示,有各种调试技术。它们是
在调试工作流时,如果我们想将程序运行到特定位置,我们可以在两者之间设置断点。当我们必须在活动完全结束之前停止时,这很有用。在这种情况下,我们应该在上一个活动上使用断点,如下面的屏幕截图所示:

高亮显示的区域指示断点,因为执行在断点之后立即停止。为了继续,我们必须点击上角箭头所示的“继续”按钮:


当我们点击Step into时,相关部分将开始执行;在我们点击Stepover之后,执行将跳转到下一部分,依此类推。
这是EXECUTE块中的一个活动,通过它我们可以降低特定进程或活动的执行速度。通过这种方式,我们可以识别每一个过程,并密切关注在哪里可以找到错误。在“输出”面板中,可以查看所有活动或步骤。下面的屏幕截图显示了如何使用慢速步骤活动

如前面屏幕截图中的箭头所示,当我们单击慢速步骤时,该特定步骤的执行时间会增加。
突出显示用于突出显示我们在自动化过程中所采取的步骤,并识别工作流中的每一步。它在调试时非常有用,它的面板可以在功能区的“执行”部分的“选项”菜单中找到:

Break活动用于在某一点中断流程。假设我们有一个序列一起执行七个活动,并且我们想要中断某个活动的执行。为此,我们可以使用Break活动,如以下屏幕截图所示:

调试时,“中断”选项可用(由前面屏幕截图中的箭头指示)。我们可以在任何时候中断。如果我们想继续,我们只需单击“继续”,如以下屏幕截图中的箭头所示:

或者,我们可以通过单击“停止”选项来停止执行。
收集崩溃转储基本上是指在UiPath Studio崩溃时收集信息。我们可以启用和禁用崩溃转储。这些转储为我们提供了有关UiPath崩溃的信息。
内存转储有两种类型:完全转储和小型转储。完整转储为我们提供有关遇到的崩溃的完整信息,而小型转储仅为我们提供关于崩溃的主要信息。
当遇到崩溃时,我们首先必须确定崩溃的进程。通常,屏幕上会出现一个对话框,指示崩溃的性质和所涉及的应用程序。UiPath进程可能崩溃,例如UiStudio.exe、Uiexplorer.exe,或Uilauncher.exe,或者您想要自动化的目标应用程序可能会崩溃。
以下是启用崩溃转储的步骤:
要禁用崩溃转储,请执行以下步骤:
1. 下载DisableDump.reg 文件从https://cdn2.hubspot.net/hubfs/416323/QuickAnswers/DisableDump.reg?t=1513326308120
2. 双击该文件并单击“是”以禁用崩溃转储,此操作需要管理权限。
用户可能会在UiPath中遇到错误并想要报告。如前所述,UiPath有两种类型的客户:
如果您是企业客户,则可以通过一种非常简单的方式向UiPath社区报告错误:

由于社区版是免费的,UiPath不向社区版用户提供支持。但是,所有遇到错误的解决方案都可以通过访问UiPath论坛找到。所有类型的错误及其解决方案都会在论坛中进行适当的讨论。
您也可以转到资源页面,找到问题的解决方案。
https://forum.UiPath.com

在本章中,您学习了如何使用异常处理技术和日志错误屏幕截图,以及用于调试或报告的其他有用信息。您还学习了如何调试代码。
您已经学习了如何制作自动化项目,以及如何使用异常处理。然而,你的学习并没有就此结束。在下一章中,我们将通过教授管理和维护代码的最佳实践来改进您的学习。