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 вы можете задать конкретные ошибки под дочерними блоками Catch, которые будут выявляться в том порядке, в котором расположены сами блоки Catch от верхнего блока к нижнему.
Параметры блока Catch
| Название в UI | Название в коде | Обязательный | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|---|
| Exception | exception | Да | Исключение, при выявлении которого поток продолжает идти дальше по этой ветке. | Строка |