Partager via


Comment : enregistrer des exceptions dans 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 indiquent 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érera les informations sur les exceptions.

    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 marques de commentaire des lignes Dim et MsgBox pour provoquer 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 les exceptions.

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

    L'exemple suivant affiche le code complet pour 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 affiche le code complet pour 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

Tâches

Comment : écrire des messages de journal (Visual Basic)

Procédure pas à pas : détermination de l'emplacement des informations My.Application.Log (Visual Basic)

Procédure pas à pas : modification de l'emplacement des informations My.Application.Log (Visual Basic)

Référence

Microsoft.VisualBasic.Logging.Log

WriteEntry

WriteException

Concepts

Utilisation des journaux des applications dans Visual Basic