WindowsFormsApplicationBase.UnhandledException 事件

定義

發生於應用程式遇到未處理的例外狀況。Occurs when the application encounters an unhandled exception.

public:
 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 

範例

這個範例會使用 My.Application.UnhandledException 事件來記錄任何未處理的例外狀況。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. 如需詳細資訊,請參閱專案設計工具、應用程式頁 (Visual Basic)For more information, see Application Page, Project Designer (Visual Basic).

因為當偵錯工具附加至應用程式時,不會引發 UnhandledException 事件,所以您必須在 Visual Studio 整合式開發環境之外執行此範例。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

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Unhandled Exception.")
End Sub

備註

當應用程式遇到未處理的例外狀況時,會引發 UnhandledException 事件。An application raises the UnhandledException event when it encounters an unhandled exception. 此事件是 Visual Basic 應用程式模型的一部分。This event is part of the Visual Basic Application model. 如需詳細資訊,請參閱Visual Basic 應用程式模型的總覽For more information, see Overview of the Visual Basic Application Model.

您可以使用 e 參數的 Exception 屬性來存取造成此事件的未處理例外狀況。You can use the Exception property of the e parameter to access the unhandled exception that caused this event.

您可以使用 e 參數的 ExitApplication 屬性來控制應用程式是否結束。You can use the ExitApplication property of the e parameter to control whether the application exits. 預設會 TrueExitApplicationBy default, ExitApplication is True. 因此,在完成 UnhandledException 事件處理常式之後,應用程式就會結束。Therefore, the application exits after completing the UnhandledException event handler. 您可以在 UnhandledException 事件處理常式中,將值設定為 False,讓應用程式保持執行狀態,並讓它返回等候狀態。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.

UnhandledException 事件處理常式的程式碼會儲存在 Applicationevents.vb 中,預設會隱藏。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. 在方案總管中選取專案時,按一下 [專案] 功能表上的 [屬性]。1. With a project selected in Solution Explorer, click Properties on the Project menu.
2. 按一下 [應用程式] 索引標籤。2. Click the Application tab.
3. 按一下 [觀看應用程式事件] 按鈕以開啟 [程式碼編輯器]。3. Click the View Application Events button to open the Code Editor.

如需詳細資訊,請參閱專案設計工具、應用程式頁 (Visual Basic)For more information, see Application Page, Project Designer (Visual Basic).

注意

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. 這表示,如果您要在 Visual Studio 整合式開發環境偵錯工具下執行來測試應用程式,就不會呼叫您的 UnhandledException 事件處理常式。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. 如需建立應用程式以進行調試的詳細資訊,請參閱/debug (Visual Basic)For more information about building applications for debugging, see /debug (Visual Basic).

工作Tasks

下表列出牽涉到 My.Application.UnhandledException 事件的工作範例。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 Form 應用程式Windows Forms Application Yes
類別庫Class Library No
主控台應用程式Console Application No
Windows Form 控制項程式庫Windows Forms Control Library No
Web 控制項程式庫Web Control Library No
Windows 服務Windows Service No
網站Web Site No

適用於

另請參閱