Catch<TException> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje akce, které se mají provést po vyvolání výjimky v odpovídajícím bloku Finally Try aktivity.
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
Parametry typu
- TException
Typ výjimky, kterou Catch<TException> blok zpracovává.
- Dědičnost
- Atributy
Příklady
Následující ukázka kódu ukazuje vytvoření Catch<TException> aktivity. Tento příklad pochází z zpracování chyb v aktivitě vývojového diagramu pomocí ukázky 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
};
Poznámky
Po umístění v návrháři Catch nelze aktivity v návrháři změnit. Pokud chcete změnit pořadí kolekce Catch aktivit, odstraňte je a znovu přidejte ve správném pořadí, nebo použijte zobrazení xaml (kód) pro pracovní postup.
Konstruktory
| Name | Description |
|---|---|
| Catch<TException>() |
Vytvoří novou instanci Catch<TException> třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Action |
Obslužná rutina zachycené výjimky. |
| ExceptionType |
Typ výjimky, kterou Catch blok zpracovává. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |