Global Exception Handling in WPF

Global Exception Handling in WPF

In XAML, you can hook an application-level event that will fire whenever an unhandled error occurs anywhere in your application by overriding the OnStartup event in the App.xaml.cs file.

Here’s an example excerpt:

protected override void OnStartup(StartupEventArgs e){   // define application exception handler   Application.Current.DispatcherUnhandledException  += new       DispatcherUnhandledExceptionEventHandler(         AppDispatcherUnhandledException);   // defer other startup processing to base class   base.OnStartup(e);}            void AppDispatcherUnhandledException(object sender,    DispatcherUnhandledExceptionEventArgs e){   //do whatever you need to do with the exception   //e.Exception   e.Handled = true;}

Now the AppDispatcherUnhandledException event will fire whenever your code doesn’t handle the exception at a lower level. The exception itself is in the DsipatcherUnhandledExceptionEventArgs object (e.Exception).


Share the Post: