Automation 如何获取异常源“;活动描述名称”;

Automation 如何获取异常源“;活动描述名称”;,automation,uipath,Automation,Uipath,当UIPath项目中出现异常时,我会发送一封包含异常信息的电子邮件。但似乎存在一个问题,我只能通过查看选择器信息来查看错误发生的位置,例如: Cannot find the UI element corresponding to this selector: <html app='chrome.exe' title='Microsoft Dynamics GP' /> <webctrl aaname='Add' idx='1' parentid='a000000000

当UIPath项目中出现异常时,我会发送一封包含异常信息的电子邮件。但似乎存在一个问题,我只能通过查看选择器信息来查看错误发生的位置,例如:

Cannot find the UI element corresponding to this selector: 
<html app='chrome.exe' title='Microsoft Dynamics GP' />
<webctrl aaname='Add' idx='1'
    parentid='a00000000000000008549000000030009000000000001000000000000' tag='DIV' />
找不到此选择器对应的UI元素:
此信息和堆栈跟踪或任何其他信息对于快速找到问题的根源并没有真正的帮助。我浏览了UIPath文档和论坛,只找到了,它似乎指向使用exception.Source来显示发生错误的活动的名称。exception.Source仅返回“UiPath.Core.Activities”,但在以下示例中不是“键入复制作业”#“输入”:


这显然会导致异常处理的大问题。如何轻松返回每个异常的源代码?

当选择器失败时,您将得到类型为
UiPath.Core.SelectorNotFoundException
的新对象。然而,在UiPath的团队决定将
显示名称添加到内部异常中之前,在这种特殊情况下您几乎无能为力

以下面的示例为例-第一行显示内部异常,第二行显示为红色,基本上就是正在重试的异常。请注意,只有后一个包含
显示名称
属性

本身通常是类型
UiPath.Core.Activities
,但由于这只是类型的名称,因此我们没有任何与故障对象的链接。以下是您可以做的:

  • 向异常添加一些详细信息。您不希望对每个活动都执行此操作,但您可以有特定的try-catch块(例如:登录系统由三个单独的活动组成,它们位于一个块中)
  • 重新显示异常。这样,显示名称将在执行日志文件中结束

  • 好的,这是一个很好的技巧。这有助于至少能够查看日志,以找到错误发生的确切位置,因为我已经在重新引用错误。如果UIPath提供了这个错误详细信息,这样我就可以轻松地给自己发电子邮件了,那就太好了。无论哪种方式,这都将为找到问题提供另一种方式。谢谢。@MUlferts-提交一个想法-