クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2008
Visual Studio
Visual Basic
リファレンス (Visual Basic)
Visual Basic リファレンス
オブジェクト (Visual Basic)
My.Application オブジェクト
 UnhandledException イベント (My.Applica...

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
Visual Basic 言語リファレンス
My.Application.UnhandledException イベント

更新 : 2008 年 7 月

アプリケーションが未処理の例外を検出したときに発生します。

' 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 _
)
sender

イベントの発生元の Object

e

未処理の例外と詳細な情報が格納された UnhandledExceptionEventArgs オブジェクト。

アプリケーションは未処理の例外を検出すると UnhandledException イベントを発生させます。これは Visual Basic アプリケーション モデルに含まれるイベントです。詳細については、「Visual Basic アプリケーション モデルの概要」を参照してください。

e パラメータの Exception プロパティを使用すると、このイベントを発生させた未処理の例外にアクセスできます。

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

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

アプリケーション イベントのコード エディタ ウィンドウを表示するには、次の操作を行います。

  1. ソリューション エクスプローラ でプロジェクトが選択されている状態で、[プロジェクト] メニューの [プロパティ] をクリックします。

  2. [アプリケーション] タブをクリックします。

  3. [アプリケーション イベントの表示] をクリックしてコード エディタを開きます。

詳細については、「方法 : アプリケーション イベントを処理する (Visual Basic)」を参照してください。

メモ :

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

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

目的

参照項目

Visual Basic アプリケーション モデルによって提供されるイベントを使用してコードを実行する

方法 : アプリケーションの起動時または終了時にコードを実行する

未処理の例外のログを記録する

方法 : Visual Basic で例外をログに記録する

次の例は、My.Application.UnhandledException イベントを使用して、未処理の例外をすべてログに記録します。

Visual Basic
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

アプリケーション イベントのコードを、コード エディタ ウィンドウに入力する必要があります。このウィンドウを利用するには、このトピックの「解説」で説明した手順に従ってください。詳細については、「方法 : アプリケーション イベントを処理する (Visual Basic)」を参照してください。

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

名前空間 : Microsoft.VisualBasic.ApplicationServices

クラス : WindowsFormsApplicationBase

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)

使用可能なプロジェクトの種類

プロジェクトの種類

使用可/不可

Windows アプリケーション

クラス ライブラリ

不可

コンソール アプリケーション

不可

Windows コントロール ライブラリ

不可

Web コントロール ライブラリ

不可

Windows サービス

不可

Web サイト

不可

次のアクセス許可が必要です。

アクセス許可

説明

SecurityPermission

このイベントのイベント ハンドラを追加できるかどうかを制御します。関連する列挙値 : SecurityPermissionFlag..::.ControlAppDomain

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

日付

履歴

理由

2008 年 7 月

「解説」の UnhandledException イベント ハンドラの設定方法に関する情報を変更

コンテンツ バグ修正

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker