語言

Catch<TException> 類別

定義

包含在活動對應的 Try 區塊 Finally 中提出例外後,需執行的動作。

generic <typename TException>
 where TException : Exceptionpublic ref class Catch sealed : System::Activities::Statements::Catch
[System.Windows.Markup.ContentProperty("Action")]
public sealed class Catch<TException> : System.Activities.Statements.Catch where TException : Exception
[<System.Windows.Markup.ContentProperty("Action")>]
type Catch<'Exception (requires 'Exception :> Exception)> = class
    inherit Catch
Public NotInheritable Class Catch(Of TException)
Inherits Catch

類型參數

TException

該區塊正在處理的例外 Catch<TException> 類型。

繼承
Catch<TException>
屬性

範例

以下程式碼範例示範建立一項 Catch<TException> 活動。 此範例來自 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
};

備註

一旦放入設計 Catch 器,活動就無法在設計器中重新排序。 若要重新排序活動集合 Catch ,請依正確順序刪除並重新加入,或使用 xaml(程式碼)視圖來執行工作流程。

建構函式

名稱 Description
Catch<TException>()

建立一個新的類別實例 Catch<TException> 。

屬性

名稱 Description
Action

例外的處理者被抓包。

ExceptionType

該區塊正在處理的例外 Catch 類型。

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於