WorkflowApplicationUnhandledExceptionEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece informações sobre uma exceção sem tratamento que ocorreu em uma instância de fluxo de trabalho.
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
Exemplos
O exemplo a seguir invoca um fluxo de trabalho que gera uma exceção. A exceção é sem tratamento 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();
Comentários
Se uma exceção for gerada por uma atividade e não for tratada, o comportamento padrão será encerrar a instância do fluxo de trabalho. Se um OnUnhandledException manipulador estiver presente, ele poderá substituir esse comportamento padrão. Esse manipulador oferece ao autor do host de fluxo de trabalho a oportunidade de fornecer o tratamento apropriado, como registro em log personalizado, anulação do fluxo de trabalho, cancelamento do fluxo de trabalho ou encerramento do fluxo de trabalho.
Propriedades
| Nome | Description |
|---|---|
| ExceptionSource |
Obtém a atividade que é a origem da exceção sem tratamento. |
| ExceptionSourceInstanceId |
Obtém o identificador exclusivo da instância de atividade que é a origem da exceção sem tratamento. |
| InstanceId |
O identificador exclusivo da instância de fluxo de trabalho. (Herdado de WorkflowApplicationEventArgs) |
| UnhandledException |
Obtém o Exception que foi sem tratamento pela instância de fluxo de trabalho. |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função 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 Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |