WorkflowApplicationUnhandledExceptionEventArgs WorkflowApplicationUnhandledExceptionEventArgs WorkflowApplicationUnhandledExceptionEventArgs WorkflowApplicationUnhandledExceptionEventArgs Class

Определение

Предоставляет сведения о необработанном исключении, вызванном в экземпляре рабочего процесса.Provides information about an unhandled exception that occurred in a workflow instance.

public ref class WorkflowApplicationUnhandledExceptionEventArgs : System::Activities::WorkflowApplicationEventArgs
public class WorkflowApplicationUnhandledExceptionEventArgs : System.Activities.WorkflowApplicationEventArgs
type WorkflowApplicationUnhandledExceptionEventArgs = class
    inherit WorkflowApplicationEventArgs
Public Class WorkflowApplicationUnhandledExceptionEventArgs
Inherits WorkflowApplicationEventArgs
Наследование
WorkflowApplicationUnhandledExceptionEventArgsWorkflowApplicationUnhandledExceptionEventArgsWorkflowApplicationUnhandledExceptionEventArgsWorkflowApplicationUnhandledExceptionEventArgs

Примеры

В следующем примере кода вызывается рабочий процесс, в котором создается исключение.The following example invokes a workflow that throws an exception. Исключение не обрабатывается рабочим процессом, и вызывается обработчик OnUnhandledException.The exception is unhandled by the workflow and the OnUnhandledException handler is invoked. Чтобы получить сведения об исключении, проверяются аргументы WorkflowApplicationUnhandledExceptionEventArgs, и рабочий процесс завершается.The WorkflowApplicationUnhandledExceptionEventArgs are inspected to provide information about the exception, and the workflow is terminated.

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();

Комментарии

Если исключение возникает из действия и не обрабатывается, поведение по умолчанию состоит в завершении экземпляра рабочего процесса.If an exception is thrown by an activity and is unhandled, the default behavior is to terminate the workflow instance. Если присутствует обработчик OnUnhandledException, в нем может переопределяться это поведение по умолчанию.If an OnUnhandledException handler is present, it can override this default behavior. Обработчик предоставляет автору узла рабочего процесса возможность выполнить соответствующую обработку, например пользовательское протоколирование, прерывание, отмену или прекращение рабочего процесса.This handler gives the workflow host author an opportunity to provide the appropriate handling, such as custom logging, aborting the workflow, canceling the workflow, or terminating the workflow.

Свойства

ExceptionSource ExceptionSource ExceptionSource ExceptionSource

Возвращает действие, оказавшееся источником необработанного исключения.Gets the activity that is the source of the unhandled exception.

ExceptionSourceInstanceId ExceptionSourceInstanceId ExceptionSourceInstanceId ExceptionSourceInstanceId

Возвращает уникальный идентификатор экземпляра действия, ставшего источником необработанного исключения.Gets the unique identifier of the activity instance that is the source of the unhandled exception.

InstanceId InstanceId InstanceId InstanceId

Уникальный идентификатор экземпляра рабочего процесса.The unique identifier of the workflow instance.

(Inherited from WorkflowApplicationEventArgs)
UnhandledException UnhandledException UnhandledException UnhandledException

Возвращает объект Exception, не обработанный экземпляром рабочего процесса.Gets the Exception that was unhandled by the workflow instance.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetInstanceExtensions<T>() GetInstanceExtensions<T>() GetInstanceExtensions<T>() GetInstanceExtensions<T>()

Возвращает коллекцию расширений указанного типа.Gets the collection of extensions of the specified type.

(Inherited from WorkflowApplicationEventArgs)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к