Compartilhar via


Catch<TException> Classe

Definição

Contém as ações a serem executadas depois que uma exceção é lançada no bloco de Tentativa correspondente de uma atividade de 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

Parâmetros de tipo

TException

O tipo de exceção que o bloco Catch<TException> está tratando.

Herança
Catch<TException>
Atributos

Exemplos

O exemplo de código a seguir demonstra a criação de uma Catch<TException> atividade. Este exemplo é do tratamento de falhas em uma atividade de fluxograma usando o exemplo 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
};

Comentários

Depois de colocadas no designer, Catch as atividades não podem ser reordenadas no designer. Para reordenar a coleção de Catch atividades, exclua e adicione-as novamente na ordem correta ou use a exibição xaml (código) para o fluxo de trabalho.

Construtores

Catch<TException>()

Cria uma nova instância da classe Catch<TException>.

Propriedades

Action

O manipulador para a exceção que está sendo detectada.

ExceptionType

O tipo de exceção que o bloco Catch está tratando.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a