Поделиться через


Как регистрировать исключения в Visual Basic

Вы можете использовать My.Application.Log и My.Log объекты для регистрации сведений об исключениях, происходящих в приложении. В этих примерах показано, как использовать метод My.Application.Log.WriteException для логгирования исключений, которые вы перехватываете явно, и необработанных исключений.

Для трассировки информации в журнале используйте метод My.Application.Log.WriteEntry. Дополнительные сведения см. по ссылке WriteEntry.

Ведение журнала обработанного исключения

  1. Создайте метод, который создаст сведения об исключении.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Используйте блок Try...Catch для перехвата исключения.

    Try
    Catch ex As Exception
    End Try
    
  3. Поместите код, который может создать исключение в блоке Try .

    Раскомментируйте строки Dim и MsgBox, чтобы вызвать исключение NullReferenceException.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. В блоке 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
    

Зарегистрировать необработанное исключение

  1. Выберите проект в обозревателе решений. В меню "Проект" выберите "Свойства".

  2. Нажмите на вкладку приложения.

  3. Нажмите кнопку "Просмотреть события приложения" , чтобы открыть редактор кода.

    Откроется файл ApplicationEvents.vb.

  4. Откройте файл ApplicationEvents.vb в редакторе кода. В меню "Общие " выберите "События MyApplication".

  5. В меню "Объявления" выберите UnhandledException.

    Приложение вызывает UnhandledException событие до запуска основного приложения.

  6. Добавьте метод 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
    

См. также