可以使用记录信息的 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 的异常块中的代码。
取消注释 NullReferenceException 导致异常的 Dim 和 MsgBox 行。
' 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
请参见
任务
演练:确定 My.Application.Log 写入信息的位置 (Visual Basic)
演练:更改 My.Application.Log 写入信息的位置 (Visual Basic)
参考
Microsoft.VisualBasic.Logging.Log