Enfin
vous permet d'exécuter toujours une section de code quel que soit ce qui se passe dans la section Try
.
Par exemple, vous pourriez vouloir faire ceci (pseudo code)
Try
OpenFile
ReadSomeTextFromFile
Catch
Une erreur s'est produite
Finally
FermerLeFichierSiEncoreOuvert
Si le fichier s'ouvre correctement et que vous lisez quelque chose dedans, alors le bloc Finally
ferme le fichier ouvert
Si l'ouverture du fichier ou la lecture du fichier échoue pour une raison quelconque, cela garantit que le fichier est fermé (s'il a effectivement été ouvert)
Si votre code n'avait pas de bloc Finally
, il ressemblerait à ceci :
Try
OpenFile
ReadSomeTextFromFile
CloseTheFileIfStillOpen
Catch
Une erreur s'est produite - mais le fichier peut rester ouvert
Si une erreur se produit dans ReadSomeTextFromFile
, une erreur se produit à ce moment-là et l'exécution du code passe au bloc Catch donc CloseTheFileIfStillOpen
ne s'exécute pas et le fichier reste ouvert.
Réécrire le code dans le format de votre question modifiée :
Try
OpenFile
ReadSomeTextFromFile
Catch
CloseTheFileIfStillOpen
Dans cet exemple, le fichier est seulement fermé si une erreur est levée, pas pendant l'exécution normale du code
Ce lien fournit un exemple non pseudo code (C#) de ce qui a été mentionné ci-dessus