无法将 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
}
}
我正在尝试将 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
}
}