Share via

WindowsFormsApplicationBase.UnhandledException Event


Occurs when the application encounters an unhandled exception.

 event Microsoft::VisualBasic::ApplicationServices::UnhandledExceptionEventHandler ^ UnhandledException;
public event Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventHandler UnhandledException;
member this.UnhandledException : Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventHandler 
Public Custom Event UnhandledException As UnhandledExceptionEventHandler 

Event Type


This example uses the My.Application.UnhandledException event to log any unhandled exceptions.

You must enter the code in the Code Editor window for application events. To access this window, follow the procedure found in this topic's Remarks section. For more information, see Application Page, Project Designer (Visual Basic).

Because the UnhandledException event is not raised when a debugger is attached to the application, you have to run this example outside the Visual Studio Integrated Development Environment.

Private Sub MyApplication_UnhandledException(
    sender As Object,
    e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs
) Handles Me.UnhandledException

        "Unhandled Exception.")
End Sub


An application raises the UnhandledException event when it encounters an unhandled exception. This event is part of the Visual Basic Application model. For more information, see Overview of the Visual Basic Application Model.

You can use the Exception property of the e parameter to access the unhandled exception that caused this event.

You can use the ExitApplication property of the e parameter to control whether the application exits. By default, ExitApplication is True. Therefore, the application exits after completing the UnhandledException event handler. You can set the value to False in the UnhandledException event handler to keep the application running, and have it return to a waiting state.

The code for the UnhandledException event handler is stored in the ApplicationEvents.vb file, which is hidden by default.

To access the Code Editor window for application events
1. With a project selected in Solution Explorer, click Properties on the Project menu.
2. Click the Application tab.
3. Click the View Application Events button to open the Code Editor.

For more information, see Application Page, Project Designer (Visual Basic).


The Visual Basic compiler prevents applications that are built for debugging from raising this event, to enable a debugger to handle the unhandled exceptions. This means that if you are testing your application by running it under the Visual Studio Integrated Development Environment debugger, your UnhandledException event handler will not be called. For more information about building applications for debugging, see /debug (Visual Basic).


The following table lists examples of tasks that involve the My.Application.UnhandledException event.

To See
Log unhandled exceptions How to: Log Exceptions

Availability by Project Type

Project type Available
Windows Forms Application Yes
Class Library No
Console Application No
Windows Forms Control Library No
Web Control Library No
Windows Service No
Web Site No

Applies to

See also