WorkflowApplicationUnhandledExceptionEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет сведения о необработанном исключении, вызванном в экземпляре рабочего процесса.
public ref class WorkflowApplicationUnhandledExceptionEventArgs : System::Activities::WorkflowApplicationEventArgs
public class WorkflowApplicationUnhandledExceptionEventArgs : System.Activities.WorkflowApplicationEventArgs
type WorkflowApplicationUnhandledExceptionEventArgs = class
inherit WorkflowApplicationEventArgs
Public Class WorkflowApplicationUnhandledExceptionEventArgs
Inherits WorkflowApplicationEventArgs
- Наследование
Примеры
В следующем примере кода вызывается рабочий процесс, в котором создается исключение. Исключение не обрабатывается рабочим процессом, и вызывается обработчик OnUnhandledException. Чтобы получить сведения об исключении, проверяются аргументы WorkflowApplicationUnhandledExceptionEventArgs, и рабочий процесс завершается.
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();
Комментарии
Если исключение возникает из действия и не обрабатывается, поведение по умолчанию состоит в завершении экземпляра рабочего процесса. Если присутствует обработчик OnUnhandledException, в нем может переопределяться это поведение по умолчанию. Обработчик предоставляет автору узла рабочего процесса возможность выполнить соответствующую обработку, например пользовательское протоколирование, прерывание, отмену или прекращение рабочего процесса.
Свойства
ExceptionSource |
Возвращает действие, оказавшееся источником необработанного исключения. |
ExceptionSourceInstanceId |
Возвращает уникальный идентификатор экземпляра действия, ставшего источником необработанного исключения. |
InstanceId |
Уникальный идентификатор экземпляра рабочего процесса. (Унаследовано от WorkflowApplicationEventArgs) |
UnhandledException |
Возвращает объект Exception, не обработанный экземпляром рабочего процесса. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetInstanceExtensions<T>() |
Возвращает коллекцию расширений указанного типа. (Унаследовано от WorkflowApplicationEventArgs) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |