Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Silverlight
System.Windows
Application Class
Application Events
 UnhandledException Event
Collapse All/Expand All Collapse All
.NET Framework Class Library for Silverlight
Application..::.UnhandledException Event

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

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)
Visual Basic (Declaration)
Public Event UnhandledException As EventHandler(Of ApplicationUnhandledExceptionEventArgs)
C#
public event EventHandler<ApplicationUnhandledExceptionEventArgs> UnhandledException
XAML Attribute Usage
<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.

Visual Basic
Imports System.IO

Partial Public Class App
    Inherits Application

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub Application_Startup(ByVal o As Object, _
        ByVal e As StartupEventArgs) Handles Me.Startup

        Me.RootVisual = New Page()

    End Sub

    Private Sub Application_UnhandledException(ByVal sender As Object, _
        ByVal e As ApplicationUnhandledExceptionEventArgs) Handles Me.UnhandledException

        If TypeOf e.ExceptionObject Is FileNotFoundException Then
            ' Inform the user 

            ' Recover from the error 
            e.Handled = True
            Return
        End If

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

    End Sub

End Class
C#
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.

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker