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).