当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'”:
这显然会导致异常处理的大问题。如何轻松地在每个异常情况下返回源?
答案 0 :(得分:1)
选择器失败时,您将得到一个UiPath.Core.SelectorNotFoundException
类型的新对象。但是,直到UiPath的团队决定将Display Name
添加到内部异常中之前,在这种特殊情况下您几乎无能为力。
以下面的示例为例-第一行显示内部异常,第二行显示为红色,实际上只是重新抛出的异常。请注意,只有后者包含Display Name
属性。
Source
本身通常为UiPath.Core.Activities
类型,但是由于这只是类型的名称,因此我们没有指向故障对象的任何链接。您可以执行以下操作: