WorkflowApplicationUnhandledExceptionEventArgs Classe

Definição

Fornece informação sobre uma exceção não tratada que ocorreu numa instância de workflow.

public ref class WorkflowApplicationUnhandledExceptionEventArgs : System::Activities::WorkflowApplicationEventArgs
public class WorkflowApplicationUnhandledExceptionEventArgs : System.Activities.WorkflowApplicationEventArgs
type WorkflowApplicationUnhandledExceptionEventArgs = class
    inherit WorkflowApplicationEventArgs
Public Class WorkflowApplicationUnhandledExceptionEventArgs
Inherits WorkflowApplicationEventArgs
Herança
WorkflowApplicationUnhandledExceptionEventArgs

Exemplos

O exemplo a seguir invoca um fluxo de trabalho que gera uma exceção. A exceção não é tratada pelo fluxo de trabalho e o manipulador de OnUnhandledException é invocado. Os WorkflowApplicationUnhandledExceptionEventArgs são inspecionados para fornecer informações sobre a exceção e o fluxo de trabalho é encerrado.

Activity wf = new Sequence
{
    Activities =
     {
         new WriteLine
         {
             Text = "Starting the workflow."
         },
         new Throw
        {
            Exception = new InArgument<Exception>((env) =>
                new ApplicationException("Something unexpected happened."))
        },
        new WriteLine
         {
             Text = "Ending the workflow."
         }
     }
};

WorkflowApplication wfApp = new WorkflowApplication(wf);

wfApp.OnUnhandledException = delegate(WorkflowApplicationUnhandledExceptionEventArgs e)
{
    // Display the unhandled exception.
    Console.WriteLine("OnUnhandledException in Workflow {0}\n{1}",
        e.InstanceId, e.UnhandledException.Message);

    Console.WriteLine("ExceptionSource: {0} - {1}",
        e.ExceptionSource.DisplayName, e.ExceptionSourceInstanceId);

    // Instruct the runtime to terminate the workflow.
    return UnhandledExceptionAction.Terminate;

    // Other choices are UnhandledExceptionAction.Abort and
    // UnhandledExceptionAction.Cancel
};

wfApp.Run();

Observações

Se uma exceção for lançada por uma atividade e não for tratada, o comportamento padrão será encerrar a instância do fluxo de trabalho. Se houver um OnUnhandledException handler presente, pode sobrepor este comportamento padrão. Esse manipulador dá ao autor do host do fluxo de trabalho a oportunidade de fornecer o tratamento apropriado, como registro em log personalizado, cancelamento do fluxo de trabalho, cancelamento do fluxo de trabalho ou encerramento do fluxo de trabalho.

Propriedades

Name Description
ExceptionSource

Obtém a atividade que é a origem da exceção não tratada.

ExceptionSourceInstanceId

Obtém o identificador único da instância de atividade que é a origem da exceção não tratada.

InstanceId

O identificador único da instância do workflow.

(Herdado de WorkflowApplicationEventArgs)
UnhandledException

Obtém o Exception que não foi tratado pela instância do workflow.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetInstanceExtensions<T>()

Obtém a coleção de extensões do tipo especificado.

(Herdado de WorkflowApplicationEventArgs)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a