Catch<TException> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 der Ausnahme, die der Catch<TException> Block behandelt.
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird das Erstellen einer Catch<TException> Aktivität veranschaulicht. Dieses Beispiel stammt aus der Fehlerbehandlung in einem Flowchart-Aktivitätsbeispiel mit 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
Nach der Platzierung im Designer Catch können die Aktivitäten nicht mehr im Designer neu angeordnet werden. Wenn Sie die Sammlung von Catch Aktivitäten neu anordnen möchten, löschen Sie sie, und fügen Sie sie in der richtigen Reihenfolge erneut hinzu, oder verwenden Sie die XAML-Ansicht (Code) für den Workflow.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Catch<TException>() |
Erstellt eine neue Instanz der Catch<TException> Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Action |
Der Handler für die Ausnahme, die abgefangen wird. |
| ExceptionType |
Der Typ der Ausnahme, die der Catch Block behandelt. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |