Question

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

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top