Capture d'erreurs spécifiques dans Go
Lors de l'interaction avec les fonctions standard de la bibliothèque Go qui renvoient des erreurs, il peut être utile d'identifier et de gérer des types spécifiques d'erreurs, telles que « connexion perdue » ou « connexion refusée ». Voici comment y parvenir :
Utilisation des erreurs.Is et des erreurs.As
Pour les versions Go modernes, l'approche recommandée consiste à utiliser les erreurs.Est et les erreurs. En tant que fonctions de la bibliothèque standard. Ces fonctions vous permettent de vérifier si une erreur correspond à un type spécifique ou d'extraire un sous-ensemble des informations sur l'erreur. Par exemple :
if errors.Is(err, syscall.ECONNREFUSED) { // err is a connection refused error }
Correspondance des chaînes d'erreur
Si une fonction de bibliothèque standard ne fournit pas de types d'erreur spécifiques, vous pouvez recourir à une comparaison de la chaîne d'erreur :
if err.Error() == "connection lost" { // err contains "connection lost" error }
Vérification de types d'erreurs spécifiques
Certaines bibliothèques peuvent exporter des types d'erreurs spécifiques qui peuvent être vérifiés directement :
if _, ok := err.(net.Error); ok { // err is a net.Error instance }
Déterminer tout Erreurs possibles
L'identification de toutes les erreurs possibles renvoyées par une fonction de bibliothèque standard nécessite la lecture du code source. Alternativement, vous pouvez consulter la documentation, telle que le godoc du package net, où les erreurs sont souvent décrites.
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!