Maison  >  Article  >  développement back-end  >  Comment utiliser error.Is pour vérifier si l'erreur est strconv.NumError

Comment utiliser error.Is pour vérifier si l'erreur est strconv.NumError

WBOY
WBOYavant
2024-02-06 09:42:131018parcourir

如何使用 error.Is 检查错误是否为 strconv.NumError

Contenu de la question

J'ai cette erreur

Le mauvais type est ParseInt. Comment vérifier cette erreur Je pensais que j'utiliserais errors.Is mais je ne suis pas sûr de ce que je ferais dans ce cas


Bonne réponse


https://pkg.go.dev/[email protected]#numerror

type numerror struct {
    func string // the failing function (parsebool, parseint, parseuint, parsefloat, parsecomplex)
    num  string // the input
    err  error  // the reason the conversion failed (e.g. errrange, errsyntax, etc.)
}

Le mauvais type est parseint.

"parseint"“失败函数” 的名称,即返回错误的函数。实际的错误类型是 *strconv.numerror. Vous pouvez le vérifier ainsi que le nom de la fonction comme ceci :

if e, ok := err.(*strconv.NumError); ok && e.Func == "ParseInt" {
    // do xyz
}

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer