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

无法将 err 转换为 go-sqlite3.Error

无法将 err 转换为 go-sqlite3.Error

Go
慕勒3428872 2023-07-17 14:47:25
我试图将 Go 中的错误转换为 go-sqlite3.Error,但它总是失败。上图代表我的调试窗口的快照,其中显示错误的类型为 go-sqlite3.Error我正在使用下面的代码来类型转换。import (    "github.com/mattn/go-sqlite3")if err != nil {    if sqlite3Err, ok := err.(*sqlite3.Error); ok {        if sqlite3Err.Code == sqlite3.ErrConstraint && sqlite3Err.ExtendedCode == 1555 {            // SQLITE3 ERROR 1555 : PRIMARY KEY CONSTRAINT ERROR            return errors.New("Log Error")        }    }
查看完整描述

1 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

尝试以下示例。err.(*sqlite3.Error)更改为err.(sqlite3.Error)


if sqlite3Err, ok := err.(sqlite3.Error); ok {

    if sqlite3Err.Code == sqlite3.ErrConstraint &&

        sqlite3Err.ExtendedCode == 1555 {

        // logic 

    }

}


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信