Catch<TException> Classe

Definizione

Contiene le azioni da eseguire dopo la generazione di un'eccezione 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

Tipo di eccezione gestito dal Catch<TException> blocco.

Ereditarietà
Catch<TException>
Attributi

Esempio

Nell'esempio di codice seguente viene illustrata la creazione di un'attività Catch<TException> . Questo esempio deriva dalla gestione degli errori in un'attività diagramma di flusso usando 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 nuovamente nell'ordine corretto oppure usare la visualizzazione xaml (codice) per il flusso di lavoro.

Costruttori

Nome Descrizione
Catch<TException>()

Crea una nuova istanza della Catch<TException> classe .

Proprietà

Nome Descrizione
Action

Gestore per l'eccezione rilevata.

ExceptionType

Tipo di eccezione gestito dal Catch blocco.

Metodi

Nome Descrizione
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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a