为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕沐林林 2023-03-15 15:23:15
我有这个错误错误是 ParseInt 类型。如何检查我假设我会使用errors.Is但不确定在这种情况下我将如何做的错误
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

https://pkg.go.dev/strconv@go1.19.3#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。您可以像这样检查它和 func 名称:


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

    // do xyz

}


查看完整回答
反对 回复 2023-03-15
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号