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

时间:2018-11-27 21:48:43

标签: 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='a00000000000000008549000000030009000000000001000000000000' tag='DIV' />

此信息以及堆栈跟踪或任何其他信息对于快速查找问题根源并没有真正帮助。我浏览了UIPath文档和论坛,发现仅this question,它似乎指向使用exception.Source来显示发生错误的活动的名称。 exception.Source在以下示例中仅返回“ UiPath.Core.Activities”,而不是“ Type into Copy Job#'INPUT'”:

exception issue

这显然会导致异常处理的大问题。如何轻松地在每个异常情况下返回源?

1 个答案:

答案 0 :(得分:1)

选择器失败时,您将得到一个UiPath.Core.SelectorNotFoundException类型的新对象。但是,直到UiPath的团队决定将Display Name添加到内部异常中之前,在这种特殊情况下您几乎无能为力。

以下面的示例为例-第一行显示内部异常,第二行显示为红色,实际上只是重新抛出的异常。请注意,只有后者包含Display Name属性。

Output Window

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

  1. 为您的例外添加一些详细信息。您不想为每个活动都执行此操作,但是可能会有某些try-catching块(例如:登录系统由三个单独的活动组成,它们驻留在一个块中)。 Exception Details
  2. 抛出异常。这样,显示名称将最终显示在执行日志文件中。