10

What is the best way to handle an unhandled exception in a WPF application?

Lars Truijens
  • 42,837
  • 6
  • 126
  • 143
Maurizio Reginelli
  • 3,152
  • 2
  • 27
  • 41

1 Answers1

13

You can use DispatcherUnhandledException:

XAML (App.xaml):

<Application x:Class="App.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="wndMain.xaml" DispatcherUnhandledException="Application_DispatcherUnhandledException">

Code Behind (App.xaml.cs/vb:

private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
    // Handle error here

    ...

    // Prevent default unhandled exception processing by WPF
    e.Handled = true;
}

Read up more here. Always do the correct amount of error handling in the first place though. Don't just let errors slip into this method.

Kyle Rosendo
  • 25,001
  • 7
  • 80
  • 118