Catch<TException>.Action 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
所捕获异常的处理程序。
public:
property System::Activities::ActivityAction<TException> ^ Action { System::Activities::ActivityAction<TException> ^ get(); void set(System::Activities::ActivityAction<TException> ^ value); };
public System.Activities.ActivityAction<TException> Action { get; set; }
member this.Action : System.Activities.ActivityAction<'Exception (requires 'Exception :> Exception)> with get, set
Public Property Action As ActivityAction(Of TException)
属性值
ActivityAction<TException>
活动操作。
示例
下面的代码示例演示如何分配 Catch<TException> 活动的 Action 属性。 此示例摘自 使用 TryCatch 的流程图活动中的错误处理 示例。
FlowStep mwkStep = new FlowStep
{
Action = new TryCatch
{
DisplayName = "Try/Catch for Divide By Zero Exception",
Try = new Assign
{
DisplayName = "discount = 15 + (1 - 1/numberOfKids)*10",
To = new OutArgument<double>(discount),
Value = new InArgument<double>((ctx) => (15 + (1 - 1 / numberOfKids.Get(ctx)) * 10))
},
Catches =
{
new Catch<System.DivideByZeroException>
{
Action = new ActivityAction<System.DivideByZeroException>
{
Argument = ex,
DisplayName = "ActivityAction - DivideByZeroException",
Handler =
new Sequence
{
DisplayName = "Divide by Zero Exception Workflow",
Activities =
{
new WriteLine()
{
DisplayName = "WriteLine: DivideByZeroException",
Text = "DivideByZeroException: Promo code is MWK - but number of kids = 0"
},
new Assign<double>
{
DisplayName = "Exception - discount = 0",
To = discount,
Value = new InArgument<double>(0)
}
}
}
}
}
}
},
Next = flowDecision
};
注解
异常处理程序由 ActivityAction<T> 对象表示。