卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

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

如何使用 error.is 检查错误是否为 strconv.numerror

问题内容

我有这个错误

错误的类型为 ParseInt。如何检查此错误 我假设我会使用 errors.Is 但不确定在这种情况下我会如何做


正确答案


https://pkg.go.dev/[电子邮件受保护]#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.)
}

错误的类型为 parseint。

"parseint"“失败函数” 的名称,即返回错误的函数。实际的错误类型是 *strconv.numerror。您可以像这样检查它和函数名称:

if e, ok := err.(*strconv.NumError); ok && e.Func == "ParseInt" {
    // do xyz
}
卓越飞翔博客
上一篇: 当 go 中计时器完成时如何从函数返回?
下一篇: 在排列上应用处理程序,而不需要级别缓存?
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏