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


Практическое руководство. Запись в журнал сведений об исключениях в Visual Basic

Обновлен: Ноябрь 2007

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

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

Регистрация обработанного исключения в журнале

  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 & ".")
    

Регистрация необработанного исключения в журнале

  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)
    

Пример

В этом примере показан полный код для регистрации в журнале обработанного исключения.

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

В следующем примере показан полный код для регистрации в журнале необработанного исключения. Для доступа к событиям приложения в редакторе кода можно использовать Конструктор проекта. Дополнительные сведения см. в разделе Практическое руководство. Обработка событий приложения (Visual Basic).

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

Пошаговое руководство. Изменение места записи информации для My.Application.Log

Основные понятия

Работа с журналами приложения в Visual Basic

Ссылки

Объект My.Application.Log

Объект My.Log

Метод WriteEntry (My.Application.Log и My.Log)

Метод WriteException (My.Application.Log и My.Log)