Guide pratique pour enregistrer des exceptions en Visual Basic

Vous pouvez utiliser les objets My.Application.Log et My.Log pour enregistrer des informations sur les exceptions qui se produisent dans votre application. Ces exemples montrent comment utiliser la méthode My.Application.Log.WriteException pour enregistrer des exceptions que vous interceptez explicitement et des exceptions qui ne sont pas gérées.

Pour enregistrer des informations de traçage, utilisez la méthode My.Application.Log.WriteEntry. Pour plus d'informations, consultez WriteEntry

Pour enregistrer une exception gérée

  1. Créez la méthode qui génère les informations sur l’exception.

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. Utilisez un bloc Try...Catch pour intercepter l’exception.

    Try
    Catch ex As Exception
    End Try
    
  3. Placez le code susceptible de générer une exception dans le bloc Try.

    Supprimez les commentaires des lignes Dim et MsgBox pour déclencher une exception NullReferenceException.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. Dans le bloc Catch, utilisez la méthode My.Application.Log.WriteException pour écrire les informations sur l’exception.

    My.Application.Log.WriteException(ex,
        TraceEventType.Error,
        "Exception in ExceptionLogTest " &
        "with argument " & fileName & ".")
    

    L’exemple suivant montre le code complet permettant d’enregistrer une exception gérée.

    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
    

Pour enregistrer une exception non gérée

  1. Sélectionnez un projet dans l' Explorateur de solutions. Dans le menu Projet , choisissez Propriétés.

  2. Cliquez sur l’onglet Application .

  3. Cliquez sur le bouton Afficher les événements de l’application pour ouvrir l’éditeur de code.

    Le fichier ApplicationEvents.vb s’ouvre.

  4. Ouvrez le fichier ApplicationEvents.vb dans l’éditeur de code. Dans le menu Général , choisissez Événements MyApplication.

  5. Dans le menu Déclarations, choisissez UnhandledException.

    L’application déclenche l’événement UnhandledException avant l’exécution de l’application principale.

  6. Ajoutez la méthode My.Application.Log.WriteException au gestionnaire d’événements UnhandledException .

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
    

    L’exemple suivant montre le code complet permettant d’enregistrer une exception non gérée.

    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
    

Voir aussi