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)