猿问

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

我试图将 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")

        }

    }


慕勒3428872
浏览 164回答 1
1回答

慕森卡

尝试以下示例。err.(*sqlite3.Error)更改为err.(sqlite3.Error)if sqlite3Err, ok := err.(sqlite3.Error); ok {    if sqlite3Err.Code == sqlite3.ErrConstraint &&        sqlite3Err.ExtendedCode == 1555 {        // logic     }}
随时随地看视频慕课网APP

相关分类

Go
我要回答