Catch<TException> Třída

Definice

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

Platí pro