在 Go 中使用 sqlite 数据库时。在测试期间我收到错误:no such table: table_name
。好吧,我知道错误来自哪里。
但我想知道是否有办法在 Go 中使用此错误消息来处理它(例如在我的代码中创建该表)。我试图做这样的事情:
_, err := getState(dbconn) // This the function that retrieves the table that does not exists
if err != nil {
if err == err.New("no such table: table_name") {
// do the work
}
}
在 Go 中, SQLite 返回的错误(例如“没有这样的表”)无法使用 err.New("no such table: table_name")与字符串进行比较。这是因为“没有这样的表”错误作为 sqlite3.Error 对象返回,而不是字符串。
要处理此错误,您应该使用 Error() 方法检查错误消息: