【发布时间】:2013-11-18 19:50:42
【问题描述】:
我正在尝试使我的 Android 代码中的 SQLite 数据库交互更加健壮。
在我的表中有一列标记为UNIQUE。现在我想处理我的应用程序尝试输入非唯一条目的情况。为此,我使用方法SQLiteDatabase.insertOrThrow()。该方法抛出android.database.sqlite.SQLiteException。不幸的是,这个异常不允许我得到错误代码(就像java.sql.SQLException 一样)。
所以在我的 catch-block 中,我无法处理异常错误代码敏感,对吗?
在 Android 上处理 SQLiteExceptions 的最佳做法是什么?我的应用程序真的可以只说有问题但不找出问题所在吗?
感谢您的帮助和时间。 丹
【问题讨论】:
-
除了
throw之外,还有其他的冲突处理机制。参见例如insertWithOnConflict()。没有单一的“最佳实践”,这取决于您的具体情况。你能否澄清你的问题更具体?谢谢。 -
感谢您的评论 laalto,我的问题是是否有办法从 SQLiteException 获取从 SQLite 返回的错误代码。 Roy Dictus 向我指出了 SQLiteConstraintException 之类的子类,它们基本上转换为错误代码。所以我的问题得到了回答:-)
标签: java android sql sqlite exception-handling