为什么SQLException没有捕获SQLiteExcpetion?

Pza*_*nno 8 java android exception

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

try {
    ... // something here that will throw an SQLiteException
} catch (SQLException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

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

如果它很重要,我使用的代码不在Activity内部,而是在扩展Application类的类中.

作为旁注,我确实添加了一个额外的内容catch( Exception e ){},看看它是否有用,它确实按预期工作.

Cra*_*igy 16

SQLException有两种类型:

android.database.SQLException
java.sql.SQLException
Run Code Online (Sandbox Code Playgroud)

确保你使用的是第一个而不是第二个.

  • 谢谢,我确实使用java.sql.SQLException.小心Eclipse! (2认同)