Maison >développement back-end >Golang >Comment comparer efficacement les messages d'erreur dans Go ?

Comment comparer efficacement les messages d'erreur dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-14 04:38:10466parcourir

How to Effectively Compare Error Messages in Go?

Comparaison des messages d'erreur dans Go

En Java, on peut récupérer les messages d'erreur en utilisant la méthode GetMessage() de la classe Exception. Dans Go, cependant, les messages d'erreur sont accessibles différemment.

Comment comparer les messages d'erreur

Pour comparer les messages d'erreur dans Go, suivez ces étapes :

  1. Déclarer une erreur au niveau du package variable :
var errExample = errors.New("this is an example")
  1. Renvoyer cette valeur d'erreur :

Lorsqu'une erreur se produit, renvoyer la valeur au niveau du package variable d'erreur au lieu d'un message de chaîne personnalisé :

return errExample
  1. Comparez avec ceci value :

Pour vérifier l'erreur spécifique, vous pouvez comparer l'erreur renvoyée à la variable d'erreur au niveau du package :

if err == errExample {
    // handle it
}

Gestion des erreurs de Packages externes

Si vous devez comparer les erreurs de packages externes, vous pouvez exporter l'erreur variable :

var ErrExample = errors.New("this is an example")

Ensuite, utilisez la variable d'erreur exportée dans votre code :

if err == somepackage.ErrExample {
    // handle it
}

Évitez d'utiliser Error.Error()

Évitez de comparer avec la chaîne renvoyée par la méthode Error() d'une erreur. Cela peut rendre votre code fragile car le message d'erreur peut changer sans préavis. Utilisez plutôt l’approche recommandée décrite ci-dessus.

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!

Déclaration:
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