Freigeben über


Catch<TException> Klasse

Definition

Enthält die Aktionen, die ausgeführt werden sollen, nachdem eine Ausnahme im entsprechenden Try-Block einer Finally-Aktivität ausgelöst wurde.

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

Typparameter

TException

Der Typ von Ausnahme, die der Catch<TException>-Block behandelt.

Vererbung
Catch<TException>
Attribute

Beispiele

Im folgenden Codebeispiel wird das Erstellen einer Catch<TException>-Aktivität gezeigt. Dieses Beispiel stammt aus dem Beispiel Fehlerbehandlung in einer Flussdiagrammaktivität mithilfe von 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
};

Hinweise

Sobald sie im Designer platziert wurden, Catch können Aktivitäten im Designer nicht mehr neu sortiert werden. Wenn Sie die Auflistung der Aktivitäten neu anordnen Catch möchten, löschen Sie sie entweder in der richtigen Reihenfolge, und fügen Sie sie erneut hinzu, oder verwenden Sie die XAML-Ansicht (Codeansicht) für den Workflow.

Konstruktoren

Catch<TException>()

Erstellt eine neue Instanz der Catch<TException>-Klasse.

Eigenschaften

Action

Der Handler für die Ausnahme, die ausgelöst wurde.

ExceptionType

Der Typ von Ausnahme, die der Catch-Block behandelt.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: