Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Описание

Если в каком-то из экшенов возникает ошибка или выход из кубика происходит по красной ветке, то выполнение проекта перейдёт в блок, который привязан к действию Bad End. Это необходимо для того, чтобы можно было задать какие-то дополнительные действия в случае завершения работы шаблона с ошибкой.

Как добавить действие в проект?

Через контекстное меню Добавить действиеЛогикаBadEnd

...

Либо воспользуйтесь умным поиском.

Для чего это используется?

При работе шаблона могут возникнуть непредвиденные ошибки, например:

...

  • Возврата данных обратно в списки / таблицы для последующего их использования без потери.

  • Логирования ошибок

  • Добавления в Blacklist невалидной информации

  • Сохранения бэкапа

Как работать с экшеном?

В случае завершения шаблона ошибкой, выполнятся действия, привязанные к Bad End:

...

Info

Bad End срабатывает 1 раз для каждого потока.

...

Многократный переход в BadEnd при отладке проекта

По умолчанию, при отладке проект переходит в Bad/GoodEnd только один раз. Затем нужно перезапустить проект кнопкой “С начала”.
Для возможности многократного перехода в эти экшены при отладке нужно включить опцию Переходить в Bad/GoodEnd при многократной отладке в настройках программы.

...

Пример использования

Восстановление данных в случае ошибки

Например, для работы мы берём из списка строку с удалением. Если в процессе работы шаблон завершился с какой-либо ошибкой, до того, как мы обработали эту строку, то эти данные будут утеряны. Чтобы этого не произошло, используем Bad End и добавляем к нему действие добавления строки обратно в список. Таким образом при неудачном завершении работы необработанные данные будут сохранены назад в список для последующей обработки.

Как отследить и исправить ошибку?

Каждый шаг в шаблоне имеет уникальный идентификатор, по которому его можно найти в ProjectMaker'e. Для того чтобы получить id шага с ошибкой, необходимо в логах ZennoPoster, кликнуть по ошибке правой кнопкой мыши и нажать «скопировать id действия»:

...

Теперь при возникновении ошибки в шаблоне, Bad End создаст файл log.txt, в который запишется время и ID ошибки. Если одного только идентификатора мало для устранения проблемы, Вы можете добавить сохранение скриншота инстанса, исходного кода страницы и значения переменных. Это позволит максимально подробно восстановить картину, которая привела к ошибке, и внести необходимые правки для нормализации работы проекта.

Добавление в Blacklist невалидной информации

Можно создать список для хранения невалидной информации, приводящей к ошибкам. Например, неверный логин \ пароль к аккаунту. При последующей работе шаблона проверять наличие данных в Blacklist’e и в случае совпадения производить замену.

...

Сохранения бэкапа

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

...

Полезные ссылки