根据文档(http://luasqlite.luaforge.net/lsqlite3.html#sqlite3.open)
如果出现错误,该函数返回nil,错误代码和 错误信息。
但无论我提供有效或无效的SQLite文件,我总能得到相同的结果。事实上,如果我提供不存在的文件或无效的路径,我仍然会得到相同的结果。例如:
db, code, msg = sqlite3.open("foo"))
print(db) -- sqlite database (0x7f9ab1628598)
print(code) -- nil
print(msg) -- nil
我怎样才能发现这些错误?
答案 0 :(得分:1)
sqlite3.open
会创建一个文件。因此,提供不存在的文件不是错误。
提供无效路径应该是错误的。调用sqlite3.open("/foo/bar")
可能会给您一个错误。
另一种错误是权限错误。如果您正在运行某种Unix,则调用sqlite3.open("/foo")
会给您permission denied
错误。