Обработка ошибок
Если в блоке возникла ошибка, вы можете настроить отдельную ветку процесса для ее обработки.
Возможность доступна только в проектах на движке версии 2.
Поддерживаемые блоки
Ветку обработки ошибок можно настроить для следующих блоков:
- Агент
- Функция (кроме режима инструмента)
- Условие
- Код
Как настроить
Соедините красный выход с блоком, который будет выполняться при возникновении ошибки.
Вы можете сообщить пользователю о проблеме, записать детали ошибки в журнал или вызвать резервную функцию. При этом основная ветка процесса не выполняется.
Примеры процессов
Обработка ошибки при оформлении заявки
Агент собирает данные клиента и оформляет заявку на банковскую карту. Если заявку создать не удается, ветка Ошибка записывает сведения о проблеме в журнал с помощью Log.error() и уведомляет сотрудника по email.
Резервная функция при сбое основного API
В случае если основной API недоступен, процесс может вызвать резервную функцию:
Получение данных об ошибке
Информацию о последней ошибке в рамках сессии можно получить с помощью встроенной функции Context.getLastStateError().
Примеры результата:
-
Таймаут в блоке Агент:
{
"type" : "AgentTotalResponseTimeoutExceeded",
"code" : "AGENT_RESPONSE_TIMEOUT",
"message" : "Agent '/agent_example' total response timeout exceeded (10086 ms > 10000 ms)",
"nodeId" : "/agent_example",
"source" : "system.agent",
"timestamp" : "2026-07-21T13:12:29.923197874Z"
} -
Ошибка в блоке Код:
{
"type" : "JsExecutionException",
"code" : "JS_EXECUTION",
"message" : "JS async error: Error: Rate limit exceeded",
"nodeId" : "/code_example",
"source" : "system.Code.executeJs",
"timestamp" : "2026-07-21T13:16:16.791687737Z"
} -
Если ошибок в сессии еще не было, функция вернет
undefined.