Maison > Article > développement back-end > Comment gérer avec élégance des erreurs spécifiques dans la bibliothèque standard de Go ?
Comment gérer avec précision des erreurs spécifiques
Lorsque vous travaillez avec les fonctions de bibliothèque standard de Go, vous pouvez rencontrer des situations dans lesquelles vous ne vous souciez que de types spécifiques de erreurs. Par exemple, si vous utilisez rpc.Dial, vous pourriez être intéressé uniquement par la gestion des erreurs liées à la perte ou au refus de connexion.
Utilisation des erreurs.Is et des erreurs.As
Le moyen préféré pour détecter des erreurs spécifiques dans Go moderne est d'utiliser les fonctions erreurs.Is et erreurs.As :
if errors.Is(err, syscall.ECONNREFUSED) { // Connection refused error } else { // Some other kind of error }
Ces fonctions effectuent une comparaison approfondie de l'erreur avec l'erreur cible ou le type d'erreur donné.
Lorsque des types d'erreurs spécifiques sont disponibles
Certaines bibliothèques utilisent des types d'erreurs spécifiques, ce qui simplifie la gestion des erreurs. Par exemple, le package net définit plusieurs types d'erreurs, notamment net.Error pour les erreurs réseau :
if _, ok := err.(net.Error); ok { if err.Error() == "connection lost" { ... } }
Obtention de toutes les erreurs possibles
Détermination de toutes les erreurs possibles renvoyées par une fonction de bibliothèque standard n’est pas simple. La meilleure approche consiste à revoir le code source ou à consulter la documentation godoc de la fonction.
Notes de mise en garde
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!