次の方法で共有


WindowsFormsApplicationBase.UnhandledException イベント

定義

ハンドルされない例外がアプリケーションで生じたときに発生します。

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 使用して、未処理の例外をログに記録します。

アプリケーション イベントのコード エディター ウィンドウにコードを入力する必要があります。 このウィンドウにアクセスするには、このトピックの「解説」セクションの手順に従います。 詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。

デバッガーがアプリケーションに UnhandledException アタッチされている場合、イベントは発生しないため、Visual Studio 統合開発環境の外部でこの例を実行する必要があります。

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 発生したときにイベントを発生させます。 このイベントは、Visual Basic アプリケーション モデルの一部です。 詳細については、「 Visual Basic アプリケーション モデルの概要」を参照してください。

パラメーターの プロパティを Exception 使用して、 e このイベントの原因となったハンドルされない例外にアクセスできます。

パラメーターの プロパティを ExitApplication 使用して、 e アプリケーションが終了するかどうかを制御できます。 既定では、ExitApplicationTrue です。 そのため、アプリケーションはイベント ハンドラーを完了した後に UnhandledException 終了します。 イベント ハンドラーで UnhandledException 値を にFalse設定して、アプリケーションの実行を維持し、待機状態に戻すことができます。

イベント ハンドラーの UnhandledException コードは、既定では非表示になっているApplicationEvents.vb ファイルに格納されます。

アプリケーション イベントの [コード エディター] ウィンドウにアクセスするには
1. ソリューション エクスプローラーでプロジェクトを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
2. [アプリケーション] タブをクリックします。
3. [ アプリケーション イベントの表示 ] ボタンをクリックして、コード エディターを開きます。

詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。

注意

Visual Basic コンパイラでは、デバッグ用に構築されたアプリケーションでこのイベントが発生するのを防ぎ、デバッガーが未処理の例外を処理できるようにします。 つまり、Visual Studio 統合開発環境デバッガーでアプリケーションを実行してアプリケーションを UnhandledException テストする場合、イベント ハンドラーは呼び出されません。 デバッグ用のアプリケーションのビルドの詳細については、「 /debug (Visual Basic)」を参照してください。

タスク

次の表に、 イベントに関連するタスクの例を My.Application.UnhandledException 示します。

終了 解決方法については、
未処理の例外をログに記録する 方法: 例外をログに記録する

プロジェクトの種類別の可用性

プロジェクトの種類 使用可能
Windows フォーム アプリケーション はい
クラス ライブラリ いいえ
コンソール アプリケーション いいえ
Windows フォーム コントロール ライブラリ いいえ
Web コントロール ライブラリ いいえ
Windows サービス いいえ
Web サイト いいえ

適用対象

こちらもご覧ください