Как получить источник исключения "Название описания активности"
Когда происходят исключения в проекте 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 и нашел только этот вопрос, который, похоже, указывает на использование исключения. Источник для отображения названия операции, в которой произошла ошибка. exception.Source возвращает только "UiPath.Core.Activities", хотя вместо "Введите в задание на копирование" INPUT "в следующем примере:
Это, очевидно, вызывает большие проблемы с обработкой исключений. Как я могу легко вернуть источник с каждым исключением?
0 ответов
Когда ваш селектор потерпит неудачу, вы получите новый объект типа UiPath.Core.SelectorNotFoundException
, Тем не менее, пока команда UiPath не решит добавить Display Name
во внутреннем исключении мало что можно сделать в этом конкретном случае.
Возьмите следующий пример - первая строка показывает Внутреннее исключение, а вторая в красном - это просто исключение, которое будет переброшено. Обратите внимание, что только последний содержит Display Name
имущество.
Source
сам по себе обычно будет иметь тип UiPath.Core.Activities
, но так как это просто имя типа, у нас нет ссылки на ошибочный объект. Вот что вы можете сделать:
- Добавьте некоторые детали к вашему исключению. Вы не хотите делать это для каждого действия, но у вас могут быть определенные блоки попыток (например: вход в систему состоит из трех отдельных активностей, и они находятся в одном блоке).
- Отбрось исключение. Таким образом, отображаемое имя окажется в файле журнала выполнения.