Поделиться через


Обработка ошибок в классических потоках

Во время разработки и запуска вы можете столкнуться с ошибками и предупреждениями в классических потоках. В этой статье представлены различные типы ошибок и предупреждений, область Ошибки и доступные функции обработки ошибок.

Типы ошибок классических потоков

Классические потоки могут вызывать два вида ошибок:

  • Ошибки времени разработки связаны с настройкой развернутых действий. Эти ошибки появляются во время разработки и препятствуют запуску классических потоков. Например, пустое обязательное поле или неопределенная переменная могут вызвать ошибку такого типа.

  • Ошибки времени выполнения, также называемые исключениями, возникают во время выполнения и приводят к сбою классических потоков. Например, недопустимый путь к файлу может вызвать такую ошибку. Используйте любые из доступных вариантов обработки ошибок, чтобы предотвратить сбой в работе классических потоков.

Когда действие вызывает ошибку, конструктор потоков отображает рядом с ним значок ошибки и всплывающую панель с соответствующей информацией. Если произошедшая ошибка является ошибкой времени разработки, конструктор потоков также отображает описание ошибки в модельном окне действия.

Снимок экрана некоторых ошибок в области ошибок.

Предупреждения классических потоков

Помимо ошибок, конструктор потоков отображает предупреждения, указывающие на некритические проблемы в классических потоках. Предупреждения не препятствуют запуску классических потоков, но указывают на возможную нежелательную функциональность, например бесконечную рекурсию вложенных потоков.

Снимок экрана предупреждения в области ошибок.

Просмотр ошибок и предупреждений с помощью панели ошибок

Область ошибок — это компонент конструктора потоков, отвечающий за отображение информации о возникших ошибках и предупреждениях.

Она состоит из четырех столбцов:

  • Тип: указывает, является ли отображаемый элемент ошибкой или предупреждением.
  • Описание: описание возникшей ошибки или предупреждения.
  • Вложенный поток: имя вложенного потока, содержащего ошибочное действие или действие, вызвавшее предупреждение.
  • Строка: номер строки ошибочного действия или действия, вызвавшего предупреждение.

Область также предоставляет фильтры для отображения ошибок, предупреждений и/или элементов, связанных с определенными вложенными потоками.

Снимок экрана доступного фильтра в области ошибок.

Чтобы просмотреть дополнительную информацию об ошибке или предупреждении времени разработки, дважды щелкните соответствующий элемент в области ошибок. Как только вы это сделаете, в диалоговом окне отобразится следующая информация:

  • Расположение: вложенный поток, линия и действие, вызвавшее ошибку или предупреждение времени разработки.
  • Сообщение об ошибке: сообщение о возникшей ошибке или предупреждении времени разработки.

Снимок экрана: диалоговое окно ошибки времени разработки.

Чтобы просмотреть дополнительную информацию об ошибке среды выполнения, дважды щелкните соответствующий элемент в области ошибок. Как только вы это сделаете, в диалоговом окне отобразится следующая информация:

  • Сообщение, связанное с возникшей ошибкой или предупреждением.
  • Расположение: вложенный поток, линия и действие, вызвавшее ошибку или предупреждение.
  • Возможные действия по устранению возникшей проблемы (в настоящее время применимы только к ошибкам действий Excel).
  • Сведения об ошибке: идентификатор корреляции ошибки, а также техническое описание возникшей ошибки среды выполнения.

Снимок экрана диалогового окна сведений об ошибке.

Настройка функции обработки ошибок

Power Automate позволяет настраивать функции обработки ошибок для отдельных действий и блоков действий в потоках рабочего стола.

Обработка ошибок отдельных действий

По умолчанию классические потоки останавливают свое выполнение при возникновении ошибки. Чтобы настроить функцию настраиваемой обработки ошибок для определенного действия, выберите параметр "При ошибке" в его модельном окне.

Снимок экрана с параметром При ошибке в действии.

Первый доступный вариант — это флажок Повторить действие в случае ошибки. Этот параметр заставляет поток выполнять действие заданное количество раз через заданное количество секунд. Значение по умолчанию — одна попытка с интервалом в две секунды.

Снимок экрана с флажком Повторить действие в действии.

Чтобы продолжить выполнение классического потока, даже если вариант повтора не удался, выберите вариант Продолжить выполнение потока. В отображаемом раскрывающемся списке вы можете:

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

Снимок экрана с параметром продолжения выполнения потока в действии.

Классические потоки предлагают два дополнительных варианта обработки ошибок. Выберите Создать правило, чтобы:

  • Задать переменную: устанавливает указанное значение для выбранной переменной.
  • Выполнить вложенный поток: выполняет указанный вложенный поток.

Снимок экрана с параметром Создать правило в действии.

Если разные ошибки требуют разной функциональности обработки ошибок, выберите Дополнительно и настройте каждую возможную ошибку отдельно.

Обработка ошибок группы действий

В некоторых сценариях может потребоваться реализовать одну и ту же функцию обработки ошибок для нескольких действий в классических потоках.

Вместо того, чтобы настраивать каждое действие отдельно, вы можете развернуть действие При ошибке блока и настроить обработку ошибок для всех действий внутри блока.

Это действие предлагает почти те же возможности, что и параметры При ошибке отдельных действий, но также позволяет фиксировать непредвиденные логические ошибки, такие как попытка доступа к элементу списка из позиции, находящейся вне границ.

Снимок экрана действия «При ошибке блока».

Извлечение ошибок, возникших в классических потоках

Чтобы извлечь последнюю ошибку, возникшую в классическом потоке, и использовать ее в дальнейших действиях, используйте действие Получить последнюю ошибку.

Это действие возвращает переменную типа ошибки, которая предоставляет шесть различных свойств: имя, расположение и индекс действия, в котором произошел сбой, вложенный поток, содержащий это действие, а также сведения и сообщение действия.

Чтобы избежать получения того же значения ошибки позже в классическом потоке, включите параметр Очистить ошибку, который очищает последнюю ошибку после сохранения ее в переменной.

Снимок экрана действия Получить последнюю ошибку.