我的一个 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/