Перехват ошибок / Try-catch
Группа действий: Базовые действия
Данное действие предназначено для обработки исключений в выбранных действиях.
Параметры
Входные параметры:
Блок Try - Действия для выполнения, во время исполнения которых может произойти исключение.
Блок Catch - Действия для обработки возникшего исключения.
Таких блоков может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждого из добавленных блоков.Исключения - Список исключений, для обработки которых предназначена соответствующая последовательность Catch.
Таких последовательностей может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждой из добавленных.Блок Finally - Действия для выполнения в любом случае.
Выходные параметры:
На выходе получаем ошибку возникшую в ходе выполнения блока Try.
Настройки
Свойство | Англ. наименование | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
---|---|---|---|---|---|
Параметры | |||||
Блок Try | Try clause | Действия для выполнения, во время исполнения которых может произойти исключение. !! Данный параметр не отображается и назначается системой автоматически. | Идентификатор последовательности действий | Да Действия в блоке должны быть | |
Блок Catch | Catch clause | Действия для обработки возникшего исключения. Таких блоков может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждого из добавленных блоков. !! Данный параметр не отображается и назначается системой автоматически. | Идентификатор последовательности действий | Нет Действий в блоке может не быть | |
Исключения | Exceptions | Список исключений, для обработки которых предназначена соответствующая последовательность Catch. Таких последовательностей может быть несколько, тогда будет создан параметр "Исключения для CATCH <номер последовательности>" для каждой из добавленных. | Коллекция | Да | |
Блок Finally | Finally clause | Действия для выполнения в любом случае. | Идентификатор последовательности действий | Нет Блока может не быть | |
Результаты | |||||
Ошибка | Error | Ошибка возникшая в ходе выполнения блока Try | Идентификатор типа исключения |
Особые условия использования
Если в блоке/блоках Catch отсутствуют действия, то студия продолжит работу ,проигнорировав отловленные ошибки.
Если в блоке Finally отсутствуют действия, то студия продолжит работу.
Порядок работы с Try-Catch
- Выбрать действие «Try-Catch» из группы действий «Базовые действия» и перетащить на рабочую область.
- В блок «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».
4. В блоке Finally поместить информационное сообщение о том, что робот закончил работу.
Пример заполнения блока «Try»:
Пример заполнения блока «Catch»:
5. Заполнить параметры: выбрать типы ошибок, которые могут возникнуть во время работы с действиями группы «Браузеры» для блока «Catch».
И типы ошибок, которые могут возникнуть в результате работы с действиями группы «Excel» из предложенных для блока «CATCH 2».
Результат:
Затем на экране появилось сообщение из блока «Finally».
При работе робота произошла ошибка, анализируя лог в студии, можно увидеть, как робот остановил работу с действиями в блоке «Try», перешел в блок «CATCH 2» и вывел на экран информационное сообщение.
Из-за наличия блока «Try-Cath» робот завершил свою работу без ошибок , несмотря на то, что при открытии файла возникла ошибка.