Обработка ошибок в действии блок-схемы с помощью 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 и устанавливает скидку в нуль. |
Использование этого образца
Откройте файл решения FlowchartWithFaultHandling.sln с помощью Visual Studio.
Для построения решения нажмите CTRL+SHIFT+B.
Чтобы запустить решение, нажмите клавишу F5.