方法: Visual Basic で例外をログに記録する
My.Application.Log
オブジェクトおよび My.Log
オブジェクトを使用すると、アプリケーション内で発生した例外に関する情報をログに記録できます。 以下の例では、My.Application.Log.WriteException
メソッドを使用して、明示的にキャッチした例外および未処理の例外をログに記録する方法を示します。
トレース情報をログに記録するには、My.Application.Log.WriteEntry
メソッドを使用します。 詳細については、WriteEntry を参照してください。
処理した例外をログに記録するには
例外情報を生成するメソッドを作成します。
Public Sub ExceptionLogTest(ByVal fileName As String) End Sub
Try...Catch
ブロックを使用して例外をキャッチします。Try Catch ex As Exception End Try
例外が発生する可能性のあるコードを
Try
ブロックに記述します。Dim
行とMsgBox
行のコメントを解除すると、NullReferenceException 例外が発生します。' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString)
Catch
ブロックで、My.Application.Log.WriteException
メソッドを使用して例外情報を書き込みます。My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".")
次の例は、処理した例外をログに記録するコード全体を示しています。
Public Sub ExceptionLogTest(ByVal fileName As String) Try ' Code that might generate an exception goes here. ' For example: ' Dim x As Object ' MsgBox(x.ToString) Catch ex As Exception My.Application.Log.WriteException(ex, TraceEventType.Error, "Exception in ExceptionLogTest " & "with argument " & fileName & ".") End Try End Sub
未処理の例外をログに記録するには
ソリューション エクスプローラーでプロジェクトを選択します。 [プロジェクト] メニューの [プロパティ] をクリックします。
[アプリケーション] タブをクリックします。
[アプリケーション イベントの表示] をクリックしてコード エディターを開きます。
ApplicationEvents.vb ファイルが開かれます。
コード エディターで ApplicationEvents.vb ファイルを開きます。 [全般] メニューの [MyApplication イベント]をクリックします。
[宣言] メニューの [UnhandledException] をクリックします。
アプリケーションでは、メイン アプリケーションの実行前に UnhandledException イベントが発生します。
My.Application.Log.WriteException
イベント ハンドラーにUnhandledException
メソッドを追加します。My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString)
次の例は、未処理の例外をログに記録するためのコード全体を示しています。
Private Sub MyApplication_UnhandledException( ByVal sender As Object, ByVal e As ApplicationServices.UnhandledExceptionEventArgs ) Handles Me.UnhandledException My.Application.Log.WriteException(e.Exception, TraceEventType.Critical, "Application shut down at " & My.Computer.Clock.GmtTime.ToString) End Sub
関連項目
.NET