Maison > développement back-end > Golang > le corps du texte

Comment capturer des erreurs spécifiques dans Go ?

DDD
Libérer: 2024-11-06 18:32:03
original
927 Les gens l'ont consulté

How do I Capture Specific Errors in Go?

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
}
Copier après la connexion

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
}
Copier après la connexion

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
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!