История страницы
Try-catch/Перехват ошибок Версия 19 (Net)
Группа действий: Базовые действия
...
Описание
Данное действие предназначено для обработки исключений в выбранных действиях.
Иконка действия
Параметры
Входные параметры
- Блок Try - Действия для выполнения, во время исполнения которых может произойти исключение.
- Блок Catch - Действия для обработки возникшего исключения.
Таких блоков может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждого из добавленных блоков.
Исключения - Список исключений, для обработки которых предназначена соответствующая последовательность Catch.
Таких последовательностей может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждой из добавленных.
3. Блок Finally - Действия для выполнения в любом случае.
Выходные параметры
На выходе получаем ошибку возникшую в ходе выполнения блока Try.
Настройки
Параметры и их настройки
Свойство |
---|
Описание | Тип | Пример заполнения | Обязательность заполнения поля | |
---|---|---|---|---|
Параметры | ||||
Блок Try |
Действия для выполнения, во время исполнения которых может произойти исключение |
!! |
Данный параметр не отображается и назначается системой автоматически |
Идентификатор последовательности действий | Да Действия в блоке должны быть | ||
Блок Catch |
Действия для обработки возникшего исключения |
Таких блоков может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждого из добавленных блоков |
!! |
Данный параметр не отображается и назначается системой автоматически |
Идентификатор последовательности действий | Нет Действий в блоке может не быть | ||
Исключения |
Список исключений, для обработки которых предназначена соответствующая |
последовательность Catch Таких последовательностей может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждой из добавленных |
Коллекция | Да | ||
Блок |
Finally |
Действия для выполнения в любом случае |
Идентификатор последовательности действий | Нет Блока может не быть | |||
Результаты | ||||
---|---|---|---|---|
Ошибка |
Ошибка возникшая в ходе выполнения блока Try | Идентификатор типа исключения |
Особые условия использования
Если в блоке/блоках Catch отсутствуют действия, то студия продолжит работу ,проигнорировав отловленные ошибки.
Если в блоке Finally отсутствуют действия, то студия продолжит работу.
Порядок работы с Try-Catch
1.Выбрать действие «Try-Catch» из группы действий «Базовые действия» и перетащить на рабочую область.
...
2.В блок «Try» поместить действия, для которых будет выполнено исключение. В блок «Catch» поместить действия, которые будут выполнены, если возникнет исключение, т.е. какая-либо ситуация, когда действие выполнено некорректно, иными словами,
...
возникнет ошибка. Если блок «Catch» не заполнен, то робот продолжит работу сценария, проигнорировав возникшие ошибки.
Пример заполнения
...
.
Блоков «Сatch» может быть несколько, тогда для каждого блока будет создан параметр «Исключение для CATCH [Номер блока]». Это нужно, когда для каждой возможной ошибки есть свой вариант действия.
Пример:
Действие «Try-Catch» в сценарии
...
.
Заполненные параметры действия «Try-Catch»: .
Таким образом, если веб-элемент не будет найден, то робот выполнит действие из блока «Catch», а если возникнет неизвестная ошибка, то робот выполнит действие из блока «CATCH 2».
3. Заполнить Заполнить параметры действия «Try-Catch».
Параметры заполняются в формате коллекции, представляющей собой список исключений, для обработки которых предназначена соответствующая последовательность Catch.
Доступно несколько типов ошибок. Для выбора типа ошибки необходимо нажать на выбранный тип, а затем на стрелку рядом с ним.
После перенесения всех необходимых типов ошибок, нажать кнопку «Сохранить».
Пример заполненных параметров: .
Пример заполненных параметров для нескольких блоков «Catch».
Блок Finally
Блок Finally является не обязательным блоком. Действия, указанные в этом блоке, выполнятся вне зависимости от того, возникла ошибка или нет. Если в блоке Finally отсутствуют действия, то робот продолжит свою работу.
Пример заполнения блока Finally:.
Выше были рассмотрены общие моменты работы с действием «Try-Catch». Рассмотрим кейс «Погода», где продемонстрирована работа этого действия.
Пример использования
Задача
Роботу необходимо зайти в поисковую систему, сделать запрос «Погода» и получить сегодняшнюю температуру, а затем сохранить ее в excel-файл.
Задача простая, но в ходе ее выполнения могут возникнуть ошибки.
Решение
воспользоваться действием «Try-Catch» для обработки возможных ошибок.
Реализация
- Поместить все действия сценария в блок «Try» ,
- .
- В блок «Catch» поместить действие «Сообщение», в котором робот сообщит, что возникла ошибка при работе с браузером.
- В блок «CATCH 2» поместить действие «Сообщение», которое сообщит, что ошибка произошла в действии группы «Excel».
...
- В блоке Finally поместить информационное сообщение о том, что робот закончил работу.
Пример заполнения блока «Try»
Пример заполнения блока «Catch»
5. Заполнить Заполнить параметры: выбрать типы ошибок, которые могут возникнуть во время работы с действиями группы «Браузеры» для блока «Catch».
И типы ошибок, которые могут возникнуть в результате работы с действиями группы «Excel» из предложенных для блока «CATCH 2».
Результат
...
Затем на экране появилось сообщение из блока «Finally».
При работе робота произошла ошибка, анализируя лог в студии, можно увидеть, как робот остановил работу с действиями в блоке «Try», перешел в блок «CATCH 2» и вывел на экран информационное сообщение.
Из-за наличия блока «Try-Cath» робот завершил свою работу без ошибок ошибок , несмотря на то, что при открытии файла возникла ошибка.