Bagikan melalui


WorkflowApplicationUnhandledExceptionEventArgs.ExceptionSource Properti

Definisi

Mendapatkan aktivitas yang merupakan sumber pengecualian yang tidak tertangani.

public:
 property System::Activities::Activity ^ ExceptionSource { System::Activities::Activity ^ get(); };
public System.Activities.Activity ExceptionSource { get; }
member this.ExceptionSource : System.Activities.Activity
Public ReadOnly Property ExceptionSource As Activity

Nilai Properti

Aktivitas.

Contoh

Contoh berikut memanggil alur kerja yang melemparkan pengecualian. Pengecualian tidak ditangani oleh alur kerja dan handler OnUnhandledException dipanggil. WorkflowApplicationUnhandledExceptionEventArgs diperiksa untuk memberikan informasi tentang pengecualian, dan alur kerja dihentikan.

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

Keterangan

Jika pengecualian ditampilkan oleh aktivitas dan tidak tertangani, perilaku defaultnya adalah mengakhiri instans alur kerja. OnUnhandledException Jika ada handler, handler dapat mengambil alih perilaku default ini. Handler ini memberi penulis host alur kerja kesempatan untuk memberikan penanganan yang sesuai, seperti pengelogan kustom, membatalkan alur kerja, membatalkan alur kerja, atau mengakhiri alur kerja.

Berlaku untuk