Un code ne s'exécute pas toujours correctement. Cela est d'autant plus vrai lorsque l'utilisateur peut saisir des données ou que des données sont lues dans des sources externes. Il faut alors indiquer proprement qu'une erreur est apparue.
1. Assurer l'exécution d'un code même en cas d'erreur
Lorsque l'on exécute du code, il est possible qu'une erreur survienne mais que l'on souhaite tout de même exécuter quelques instructions avant de renvoyer l'erreur. Cela se produit typiquement lorsque l'on manipule des fichiers : en cas d'erreur, on va vouloir fermer proprement le fichier avant de renvoyer un message. Pour indiquer à Go le code à exécuter avant de renvoyer un résultat (return), il faudra utiliser l'instruction defer.
Nous n'avons pas encore vu comment manipuler les fichiers en Go. Voici donc comment utiliser defer dans une syntaxe mi-Go, mi-algorithmique :
01: func readFile(filename string) {
02: defer …
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première