共用方式為


My.Application.UnhandledException 事件

更新: 2008 年 7 月

發生於應用程式遇到未處理的例外狀況 (Exception) 時。

' Usage
Public Sub Me_UnhandledException( _
   ByVal sender As Object, _
   ByVal e As UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
End Sub
' Declaration
Public Event UnhandledException( _
   ByVal sender As Object, _
   ByVal e As UnhandledExceptionEventArgs _
)

參數

備註

當應用程式遇到未處理的例外狀況時,會產生 UnhandledException 事件。這個事件是 Visual Basic 應用程式模型的一部分。如需詳細資訊,請參閱 Visual Basic 應用程式模型概觀

您可以使用 e 參數的 Exception 屬性 (Property),存取造成此事件之未處理的例外狀況。

您可以使用 e 參數的 ExitApplication 屬性,控制應用程式是否結束。依照預設,ExitApplication 為 True,因此應用程式會在完成 UnhandledException 事件處理常式之後結束。您可以在 UnhandledException 事件處理常式中將此值設為 False,使應用程式保持在執行中,並讓它回到等待狀態。

UnhandledException 事件處理常式的程式碼儲存在 ApplicationEvents.vb 檔中,檔案預設為隱藏檔。

若要存取應用程式事件的程式碼編輯器視窗:

  1. 在 [方案總管] 中選取了專案之後,請在 [專案] 功能表,按一下 [屬性]。

  2. 按一下 [應用程式] 索引標籤。

  3. 按一下 [檢視應用程式事件] 按鈕,開啟 [程式碼編輯器]。

如需詳細資訊,請參閱 HOW TO:處理應用程式事件 (Visual Basic)

注意事項:

Visual Basic 編譯器 (Compiler) 不讓建置來進行偵錯的應用程式產生此事件,以允許偵錯工具能處理未處理的例外狀況。這表示,如果您是在 Visual Studio Integrated Development Environment 偵錯工具下執行它以測試應用程式,將不會呼叫 UnhandledException 事件處理常式。如需建置用於進行偵錯之應用程式的詳細資訊,請參閱 /debug (Visual Basic)

工作

下列表格列出包含 My.Application.UnhandledException 事件的工作範例。

若要

請參閱

使用 Visual Basic 應用程式模型所提供的事件執行程式碼

HOW TO:當應用程式啟動或結束時執行程式碼

記錄未處理的例外狀況

HOW TO:在 Visual Basic 中記錄例外狀況

範例

此範例會使用 My.Application.UnhandledException 事件,記錄任何未處理的例外狀況。

Private Sub MyApplication_UnhandledException( _
    ByVal sender As Object, _
    ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs _
) Handles Me.UnhandledException
    My.Application.Log.WriteException(e.Exception, _
        TraceEventType.Critical, _
        "Unhandled Exception.")
End Sub

您必須在應用程式事件的 [程式碼編輯器] 視窗中輸入程式碼。若要存取這個視窗,請依照此主題之「註解」內容中所述的程序進行。如需詳細資訊,請參閱 HOW TO:處理應用程式事件 (Visual Basic)

因為將偵錯工具附加至應用程式時不會產生 UnhandledException 事件,因此您需要在 Visual Studio Integrated Development Environment 以外執行此範例。

需求

命名空間 (Namespace):Microsoft.VisualBasic.ApplicationServices

類別︰WindowsFormsApplicationBase

組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)

依專案類型的可用性

專案類型

是否可用

Windows 應用程式

類別庫

主控台應用程式

Windows 控制項程式庫

Web 控制項程式庫

Windows 服務

網站

使用權限

下列使用權限可能為必要:

使用權限

描述

SecurityPermission

控制為這個事件加入事件處理常式的能力。關聯的列舉型別:SecurityPermissionFlag.ControlAppDomain

如需詳細資訊,請參閱程式碼存取安全性要求使用權限

請參閱

概念

Visual Basic 應用程式模型概觀

參考

My.Application 物件

Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs

變更記錄

日期

記錄

原因

2008 年 7 月

修訂有關「備註」一節中設定 UnhandledException 事件處理常式的資訊。

內容 Bug 修正。