我正在尝试使 Android 代码中的 SQLite 数据库交互更加健壮。
我的表格中有一个列被标记为UNIQUE
。现在我想处理我的应用程序尝试输入非唯一条目的情况。为了实现这一点,我使用了 SQLiteDatabase.insertOrThrow() 方法。该方法会抛出android.database.sqlite.SQLiteException
。不幸的是,该异常不允许我获取错误代码(就像 java.sql.SQLException 那样)。
因此,在我的 catch block 中,我无法处理错误代码敏感的异常,对吗?
在 Android 上处理 SQLiteExceptions
的最佳实践是什么?我的应用程序真的可以只说有问题但不找出问题是什么吗?
感谢您的帮助和时间。 丹
最佳答案
在这种特殊情况下,您可以做的是验证您要插入的记录是否确实是唯一的。这样您就可以避免插入非唯一值,并且这个问题不再是问题。
话虽如此,许多特定异常继承自SQLiteException
,例如SQLiteConstraintException
。您还可以捕获特定的并做您必须做的事情。
关于java - 处理Android的SQLiteException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19831340/