UiPath: исключения при выполнении Invoke Code

Если в UiPath вы используете блок Invoke Code и в этом коде возникает исключение, то текст исключения всегда будет одинаковым: «Invoke code: Exception has been thrown by the target of an invocation.». Это нам ни о чём не говорит, поэтому необходимо добраться до изначального исключения, чтобы понять, какая именно ошибка произошла. Для этого мы воспользуемся свойством InnerException нашего исключения.

Например, пусть у нас есть вот такой код:

Dim s As String = "qwerty"
Convert.ToInt32(s)

Чтобы добраться до нужного нам сообщения, необходимо поместить блок Invoke Code внутрь блока Try..Catch, а в блоке Catch добавить следующий обработчик:

Мы попросту генерируем новое исключение, которое спрятано внутри свойства InnerException. В результате в нашем случае мы получим следующую ошибку:

Throw: Input string was not in a correct format.

Так рекомендуется делать со всеми вызовами Invoke Code, даже с самыми простыми.