Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';SQLException捕获SQLiteException?_Java_Android_Exception - Fatal编程技术网

Java 为什么';SQLException捕获SQLiteException?

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(); } 我应该捕获

我的一个android应用程序中有一些代码捕获SQLException,但我最近发现它没有捕获SQLiteException。很明显,SQLiteException是SQLException的子代,那么为什么不捕获它呢?这是我正在使用的一些代码

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,谢谢。