Export (0) Print
Expand All

Application.UnhandledException Event

Silverlight

Occurs when an exception that is raised by Silverlight is not handled.

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)

public event EventHandler<ApplicationUnhandledExceptionEventArgs> UnhandledException
<Application UnhandledException="eventhandler"/>

By default, Silverlight will detect and process unhandled exceptions that are raised from any part of the Silverlight application. If you would prefer to perform unhandled exception detection and processing, you can handle the UnhandledException event, which is raised by Application for each thrown exception that is unhandled by application code.

The UnhandledException event handler is passed a ApplicationUnhandledExceptionEventArgs object, which stores a reference to the unhandled exception in its ExceptionObject property. You can use this information to determine whether an exception is recoverable or not.

When you detect and process an unhandled exception and you do not want Silverlight to continue processing it, you have to set the Handled property to true. If you leave the Handled property set to false when exiting the handler, the unmanaged exception handling as registered for the onError event takes place for the unhandled exception. An onError handler can also be handled by managed code, if you marshal the handler.

The following example shows how to handle and use the UnhandledException event.


using System.IO; // FileNotFoundException
using System.Windows; // Application, StartupEventArgs, ApplicationUnhandledExceptionEventArgs

namespace SilverlightApplication
{
    public partial class App : Application
    {
        public App()
        {
            this.Startup += this.Application_Startup;
            this.UnhandledException += this.Application_UnhandledException;

            InitializeComponent();
        }

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new Page();
        }

        private void Application_UnhandledException(object sender, 
            ApplicationUnhandledExceptionEventArgs e)
        {
            if (e.ExceptionObject is FileNotFoundException)
            {
                // Inform the user

                // Recover from the error
                e.Handled = true;
                return;
            }

            // Exception is unrecoverable so stop the application and allow the 
            // Silverlight plug-in control to detect and process the exception.
        }
    }
}


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft