java - 处理Android的SQLiteException

标签 java android sql sqlite exception

我正在尝试使 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/

相关文章:

java - 在 Spring 中验证每个请求和响应的用户

android - 如何将属性 onClick 设置为 ScrollView?

android - Android 小部件有任何 "onCreate"方法吗?

mysql - 如何在没有错误的列上创建全文索引

sql - 在oracle中选择无效的日期字符串

mysql - 是否可以将结果列名作为行值进行查询?

java - 通过 spoon-gradle 插件从特定包运行仪器测试

java - 是否有像 FRAPI (PHP) 这样但适用于 Java 的 REST Web 服务 API 提供程序?

java - Pane 和选定的 CSS 选项

java - 抽屉导航布局工具栏中的标题未更改