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. 既定では、ExitApplicationTrueです。By 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 フォーム アプリケーションWindows Forms Application はいYes
クラス ライブラリClass Library いいえNo
コンソール アプリケーションConsole Application いいえNo
Windows フォーム コントロール ライブラリWindows Forms Control Library いいえNo
Web コントロールライブラリWeb Control Library いいえNo
Windows サービスWindows Service いいえNo
Web サイトWeb Site いいえNo

セキュリティ

SecurityPermission
このイベントのイベントハンドラーを追加する機能を制御します。Controls the ability to add an event handler for this event. ControlAppDomain (関連する列挙体)Associated enumeration: ControlAppDomain.

適用対象

こちらもご覧ください