Catch<TException> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene le azioni da eseguire dopo che un'eccezione viene generata nel blocco Try corrispondente di un'attività 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
Parametri di tipo
- TException
Il tipo di eccezione gestita dal blocco Catch<TException>.
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice riportato di seguito viene illustrata la creazione di un'attività Catch<TException>. Questo esempio è tratto dalla gestione degli errori in un'attività diagramma di flusso tramite l'esempio 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
};
Commenti
Una volta inserita nella finestra di progettazione, Catch le attività non possono essere riordinate nella finestra di progettazione. Per riordinare la raccolta di Catch attività, eliminarle e aggiungerle di nuovo nell'ordine corretto oppure usare la visualizzazione xaml (codice) per il flusso di lavoro.
Costruttori
Catch<TException>() |
Crea una nuova istanza della classe Catch<TException>. |
Proprietà
Action |
Il gestore per l'eccezione rilevata. |
ExceptionType |
Il tipo di eccezione gestita dal blocco Catch. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |