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

Not able to convert err into go-sqlite3.Error

我正在尝试将 Go 中的错误转换为 go-sqlite3.Error,但它总是失败。 上图代表了我的 debug windows 的快照,它显示错误的类型是 go-sqlite3.Error

我正在使用下面的代码来输入 cast。

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")
        }
    }

试试下面的例子。 err.(*sqlite3.Error) 更改为 err.(sqlite3.Error)

if sqlite3Err, ok := err.(sqlite3.Error); ok {
    if sqlite3Err.Code == sqlite3.ErrConstraint &&
        sqlite3Err.ExtendedCode == 1555 {
        // logic 
    }
}