私はSQLExceptionをキャッチする私のアンドロイドのアプリケーションのいくつかのコードがありますが、私は最近それがSQLiteExceptionをキャッチしていないことがわかった。明らかに、SQLiteExceptionはSQLExceptionの子です。なぜそれが捕捉されないのですか?ここで私が使用しているコードがあります。なぜSQLExceptionがSQLiteExcpetionをキャッチしないのですか?
try {
... // something here that will throw an SQLiteException
} catch (SQLException e) {
e.printStackTrace();
}
私はSQLiteExceptionをキャッチすべきであると私の仮定は正しいですか?
私はこのコードをアクティビティ内ではなく、Application
クラスを拡張するクラスの内部で使用しています。
補足として、私は追加してcatch(Exception e){}
を追加して動作するかどうかを確認しましたが、実際には期待どおりに動作していました。
実際には非常に興味深い質問です。実際にはSQLExceptionのサブクラスであるため、http://developer.android.com/reference/android/database/sqlite/SQLiteException.html –