Try Catch
Общее описание
Логический блок Try Catch предназначен для реализации пользовательских сценариев обработки ошибок в работе потока и соответствует блокам Try Catch-Finally классического программирования.
Вы можете воспользоваться блоком Try Catch в том случае, если вы предполагаете, что при выполнении блока или цепочки блоков в работе потока может наступить ошибка.
Для этого необходимо добавить в поток блок Try Catch, поместить блок, который будет проверяться, или цепочку таких блоков в пустую ячейку Action, а затем в ветке блока Catch задать отслеживаемую ошибку и добавить в эту ветку блоки, которые буду запускаться при наступлении этой ошибки.
Вы можете добавлять в блок дополнительные ветки Catch, таким образом увеличивая количество проверок исключений и прохождения сопутствующих сценариев. В ветке дочернего блока Finally вы можете задать блоки, которые должны быть выполнены в любом случае, вне зависимости от наступления ошибки.
Блок Try Catch может быть многоуровневым и содержать вложенные блоки Try Catch в любой ветке.
При добавлении блока Try Catch вместе с блоком на экране отображается область действия блока в виде прямоугольника. Область действия можно сворачивать и разворачивать нажатием на кнопку со стрелкой около верхнего правого угла блока.
В потоке при добавлении блока автоматически создаются три дочерних блока этого потока, которые отображаются в области действия основного блока:
-
Action – предназначен для размещения наблюдаемого блока или цепочки блоков,
-
Catch – предназначен для обработки предполагаемой ошибки. При возникновении ошибки, на которую настроен блок Catch, стартует последовательность блоков в этой ветке.
-
Finally – предназначен для формирования завершающей логики отработки блока Try Catch. Ветка Finally всегда выполняется по завершении работы всех остальных блоков, добавленных в рамках блока Try Catch. Если ветка Finally не содержит блоков, то она исключается из обработки.
Вы можете добавлять ветки Catch в блок Try Catch нажатием на кнопку «+» около правого нижнего угла блока. Ветка Finally может быть только одна.
Удаление блока Try Catch и его веток c блоками осуществляется нажатием на кнопку удаления на блоке и выполняется по следующим правилам:
-
При удалении блока Try Catch будут удалены все блоки, входящие в его область,
-
При удалении ведущего блока любой ветки будут удалены все блоки, принадлежащие этой ветке,
-
При удалении последней ветки Catch вместо нее будет добавлена новая пустая ветка Catch,
-
При удалении ветки Finally вместо нее будет добавлена новая пустая ветка Finally.
Блок Try Catch может использоваться только в качестве:
- блока-обработчика.
Блок-обработчик предназначен для управления, проверки и преобразования данных, которые используются в контексте потока.
Настройка блока Try Catch
В блоке Try Catch вы можете задать конкретные ошибки под дочерними блоками Catch, которые будут выявляться в том порядке, в котором расположены сами блоки Catch от верхнего блока к нижнему.
Базовые параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Description | description | Краткое описание блока. | Строка |
Расширенные параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Disabled | disabled | Определяет, будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. При отключении родительского блока все дочерние блоки будут также отключены. | False | Логическое значение |
Настройка блока Catch
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Exception | exception | Исключения, которые следует перехватывать (можно указать один тип исключения либо список типов). | Строка (для одного типа) / массив строк (для нескольких типов) | |
| Language | language | Обязательный параметр Выбор языка, на котором будет написано выражение для определения количества выполняемых циклов. Возможные значения:
| groovy | Список |
| Expression | expression | Выражение, которое определяет, как разделять входящее сообщение на части. | Выражение | |
| Result Type | resultType | Формат вывода результатов выражения. | Строка |
Дополнительные параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Trim | Удаляет пробелы в начале и в конце значений (обрезает ведущие и trailing‑пробелы). | False | Логическое значение |