Java 为什么';SQLException捕获SQLiteException?
我的一个android应用程序中有一些代码捕获SQLException,但我最近发现它没有捕获SQLiteException。很明显,SQLiteException是SQLException的子代,那么为什么不捕获它呢?这是我正在使用的一些代码Java 为什么';SQLException捕获SQLiteException?,java,android,exception,Java,Android,Exception,我的一个android应用程序中有一些代码捕获SQLException,但我最近发现它没有捕获SQLiteException。很明显,SQLiteException是SQLException的子代,那么为什么不捕获它呢?这是我正在使用的一些代码 try { ... // something here that will throw an SQLiteException } catch (SQLException e) { e.printStackTrace(); } 我应该捕获
try {
... // something here that will throw an SQLiteException
} catch (SQLException e) {
e.printStackTrace();
}
我应该捕获SQLiteException的假设正确吗
如果这很重要的话,我不是在活动中使用这段代码,而是在扩展应用程序的类中使用这段代码
作为旁注,我确实添加了一个额外的catch(异常e){}
,以查看这是否可行,它确实按照预期工作
我应该捕获SQLiteException的假设正确吗
你说的是java.sql.SQLException
还是android.database.SQLException
SQLiteException
扩展了android.database.SQLException
。检查您的导入。有两种类型的SQLException:
android.database.SQLException
java.sql.SQLException
确保您使用的是第一个而不是第二个。实际上,这是一个非常有趣的问题。。。因为它实际上是SQLException的一个子类:谢谢,我确实在使用java.sql.SQLException。当心日食!我喜欢下午上学的味道。闻起来像。。。facepalm学习。你是对的,我捕获了java.sql.SQLException,谢谢。