Udostępnij za pośrednictwem


Catch<TException> Klasa

Definicja

Zawiera akcje do wykonania po wystąpieniu wyjątku Finally w odpowiednim bloku Try działania.

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 wyjątku, który Catch<TException> obsługuje blok.

Dziedziczenie
Catch<TException>
Atrybuty

Przykłady

Poniższy przykładowy kod przedstawia tworzenie Catch<TException> działania. Ten przykład pochodzi z obsługi błędów w działaniu schematu blokowego przy użyciu przykładu 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
};

Uwagi

Po umieszczeniu w projektancie Catch działań nie można zmienić kolejności w projektancie. Aby zmienić kolejność kolekcji Catch działań, usuń i ponownie dodaj je w odpowiedniej kolejności lub użyj widoku xaml (kodu) dla przepływu pracy.

Konstruktory

Catch<TException>()

Tworzy nowe wystąpienie klasy Catch<TException>.

Właściwości

Action

Procedura obsługi przechwyconego wyjątku.

ExceptionType

Typ wyjątku, który Catch obsługuje blok.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy