java - 为什么 SQLException 不捕获 SQLiteExcpetion?

标签 java android exception

我的一个 Android 应用程序中有一些代码可以捕获 SQLException,但我最近发现它没有捕获 SQLiteException。显然,SQLiteException 是 SQLException 的子对象,那么为什么它没有被捕获呢?这是我正在使用的一些代码。

try {
    ... // something here that will throw an SQLiteException
} catch (SQLException e) {
    e.printStackTrace();
}

我应该捕获 SQLiteException 的假设是否正确?

如果这很重要,我不是在 Activity 中使用这段代码,而是在扩展 Application 类的类中使用此代码。

作为旁注,我确实添加了一个额外的 catch( Exception e ){} 以查看它是否有效并且它确实按预期工作。

最佳答案

SQLException有两种类型:

android.database.SQLException
java.sql.SQLException

确保您使用的是第一个而不是第二个。

关于java - 为什么 SQLException 不捕获 SQLiteExcpetion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159809/

相关文章:

c# - 使用异常来通知未设置委托(delegate) - 设计不好?

java - 更新依赖于其他实体状态的@Entity 字段的正确方法

java - 非法监控状态异常

Java - 我的分号和大括号上的随机错误

EditText 上的android random NullPointerException

java - 如何使用方法返回的 boolean 值

android - Android 的 Spring : request authorization headers (not basic)

java - 使用互联网调用以 Java 编码的 Android 应用程序不显示数据

java - @ExceptionHandler 本地与全局

java - 处理不可能发生的异常的最佳方法