Partager via


Comment : nettoyer des ressources avec un bloc Try...Finally dans Visual Basic

Mise à jour : novembre 2007

Une instruction Finally peut être utilisée dans un bloc Try afin de s'assurer que les ressources allouées sont nettoyées. Le code dans un bloc Finally s'exécute après le code de gestion des exceptions, mais avant que le contrôle ne revienne à la procédure appelante. Le code dans un bloc Finally s'exécutera même si votre code lève une exception et même si vous ajoutez une instruction Exit Function (ou Exit Sub) explicite dans un bloc Catch.

Si vous n'avez pas besoin d'intercepter des exceptions spécifiques, l'instruction Using se comporte comme un bloc Try…Finally et garantit l'élimination des ressources, quelle que soit la manière dont vous quittez le bloc. Cela est vrai même dans le cas d'une exception non gérée. Pour plus d'informations, consultez Using, instruction (Visual Basic).

Pour nettoyer des ressources avec une instruction Finally

  • Placez le code que vous souhaitez exécuter indépendamment des exceptions dans le bloc Finally. Le code suivant crée un StreamReader et l'utilise pour lire à partir d'un fichier.

    Dim reader As New System.IO.StreamReader("C:\testfile")
    Try
        reader.ReadToEnd()
    Catch ex As System.IO.IOException
        MsgBox("Could not read file")
    Finally
        'This command is executed whether or not the file can be read
        reader.Close()
    End Try
    

Voir aussi

Tâches

Comment : tester du code à l'aide d'un bloc Try…Catch dans Visual Basic

Comment : vérifier l'exception interne d'une exception

Comment : supprimer une ressource système

Concepts

Gestion des exceptions pour les utilisateurs de Visual Basic 6.0

Référence

Using, instruction (Visual Basic)

Autres ressources

Tâches de gestion des exceptions