如何获取异常源“Activity 描述名称”
How to get Exception source “Activity Description name”
当 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 来显示发生错误的 activity 的名称。 exception.Source 只有 returns “UiPath.Core.Activities” 但在以下示例中不是 "Type into Copy Job# 'INPUT'":
这显然会导致异常处理出现大问题。我怎样才能轻松 return 每个例外的来源?
当您的选择器失败时,您将得到一个类型为 UiPath.Core.SelectorNotFoundException
的新对象。但是,在 UiPath 的团队决定将 Display Name
添加到内部异常之前,您在这种特殊情况下几乎无能为力。
以下面的例子为例——第一行显示了内部异常,红色的第二行本质上只是被重新抛出的异常。请注意,只有后一个包含 Display Name
属性.
Source
本身通常是 UiPath.Core.Activities
类型,但由于这只是类型的名称,我们没有任何 link 到故障对象。您可以执行以下操作:
- 为您的例外情况添加一些详细信息。您不想对每个 activity 都执行此操作,但您可以有特定的 try-catch 块(例如:登录系统由三个单独的活动组成,它们位于一个块中)。
- 重新抛出异常。这样显示名称将最终出现在执行日志文件中。
当 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 来显示发生错误的 activity 的名称。 exception.Source 只有 returns “UiPath.Core.Activities” 但在以下示例中不是 "Type into Copy Job# 'INPUT'":
这显然会导致异常处理出现大问题。我怎样才能轻松 return 每个例外的来源?
当您的选择器失败时,您将得到一个类型为 UiPath.Core.SelectorNotFoundException
的新对象。但是,在 UiPath 的团队决定将 Display Name
添加到内部异常之前,您在这种特殊情况下几乎无能为力。
以下面的例子为例——第一行显示了内部异常,红色的第二行本质上只是被重新抛出的异常。请注意,只有后一个包含 Display Name
属性.
Source
本身通常是 UiPath.Core.Activities
类型,但由于这只是类型的名称,我们没有任何 link 到故障对象。您可以执行以下操作:
- 为您的例外情况添加一些详细信息。您不想对每个 activity 都执行此操作,但您可以有特定的 try-catch 块(例如:登录系统由三个单独的活动组成,它们位于一个块中)。
- 重新抛出异常。这样显示名称将最终出现在执行日志文件中。