WindowsFormsApplicationBase.UnhandledException イベント


ハンドルされない例外がアプリケーションで生じたときに発生します。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 

この例では、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

        "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).


次の表に、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