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


Обработка ошибок в действии блок-схемы с помощью TryCatch

В примере FlowChartWithFaultHandling показано, как TryCatch можно использовать действие в сложном действии потока управления.

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

В следующей таблице представлены переменные для действия CreateFlowchartWithFaults.

Параметры Description
promoCode Промокод. Тип: строка

Возможные значения с описанием в скобках.

— single (single)
- MNK (женат без детей.)
- MWK (женат с детьми.)
numKids Число детей. Тип: int

Действие CreateFlowchartWithFaults использует действие FlowSwitch<T>, которое производит переключения на аргументе promoCode и вычисляет скидку с использованием следующей формулы.

Значение параметра promoCode Скидка (%)
Одна 10
MNK 15
MWK 15 + (1 – 1/numberOfKids)*10 Примечание: потенциально это вычисление может вызвать DivideByZeroException. Поэтому вычисление скидки упаковано в действие TryCatch, которое кэширует исключение DivideByZeroException и устанавливает скидку в нуль.

Использование этого образца

  1. Откройте файл решения FlowchartWithFaultHandling.sln с помощью Visual Studio.

  2. Для построения решения нажмите CTRL+SHIFT+B.

  3. Чтобы запустить решение, нажмите клавишу F5.

См. также