Check Exception type for DispatcherUnhandledException : Exception « Windows Presentation Foundation « C# / C Sharp






Check Exception type for DispatcherUnhandledException

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

//File:Window.xaml.cs
using System;
using System.Diagnostics;
using System.Windows;
using System.Data;
using System.Xml;
using System.Configuration;
using System.Windows.Threading;

namespace DispatcherUnhandledExceptionSample
{
    public partial class App : Application
    {
        void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
        {
            bool shutdown = false;

            if (e.Exception is DivideByZeroException)
            {
                shutdown = false;
            }
            else if (e.Exception is ArgumentNullException)
            {
                shutdown = true;
            }

            if (shutdown)
            {
                MessageBoxResult result = MessageBox.Show("Application must exit:\n\n" + e.Exception.Message + "\n\nSave before exit?", "app", MessageBoxButton.YesNo, MessageBoxImage.Error);
                if (result == MessageBoxResult.Yes)
                {
                }
                EventLog.WriteEntry("app", "Unrecoverable Exception: " + e.Exception.Message, EventLogEntryType.Error);
                this.Shutdown(-1);
            }
            e.Handled = true;
        }
    }
}

   
    
  








Related examples in the same category

1.Cross Thread Exception Raising
2.Cross Thread Exception Raising WorkerThread
3.Raise exception from button click eventRaise exception from button click event
4.Security ExceptionSecurity Exception
5.Throw Handled ExceptionThrow Handled Exception
6.Throw Unhandled ExceptionThrow Unhandled Exception
7.Throw Unhandled Exception From ThreadThrow Unhandled Exception From Thread
8.Customize UpdateSourceExceptionFilterCustomize UpdateSourceExceptionFilter
9.Manage unhandled exceptions that are thrown on secondary worker threads.Manage unhandled exceptions that are thrown on secondary worker threads.
10.Throw Exception from button click actionThrow Exception from button click action
11.Catch XamlParseExceptionCatch XamlParseException
12.Manage unhandled exceptions that are thrown on secondary user interface (UI) threads.