Condividi tramite


Catch<TException> Classe

Definizione

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à
Catch<TException>
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)

Si applica a