从哪里获取Android SQLite中的数据库错误信息(例如,由于违反非null而导致插入失败)

Hen*_*ing 18 database sqlite android exception

我刚刚意识到我的一个数据库insert()命令由于违反了非空约束而失败 - 我只是在这个字段中没有填充任何数据.

问题是,我花了很长时间才发现为什么这个插入返回-1,因为我无法在任何地方找到错误或异常.

我希望,我想对于更复杂的数据库和查询,最重要的是,从数据库中获取某些信息真正发生的事情会导致数据库访问失败,但我无法在任何地方找到任何相关信息.

Hen*_*ing 28

我发现可以使用insertOrThrow()而不是insert,至少当出现错误时会出现异常,说android.database.sqlite.SQLiteConstraintException:错误代码19:约束失败 - 即使我实际上希望/期望它会更清楚,告诉我哪个列有错误左右,但也许我对SQLIte的特性要求太高了.


Bil*_*ote 5

你看过LogCat了吗?关于包括出了什么问题的内容,通常会非常冗长.

  • 我看不到logCat中的任何有用信息 (2认同)