我在我的一個android應用程序中捕獲了一些SQLException的代碼,但是我最近發現它沒有捕獲SQLiteException。顯然,SQLiteException是SQLException的一個子組件,爲什麼它不被捕獲?以下是我正在使用的一些代碼。爲什麼SQLException沒有捕獲SQLiteExcpetion?
try {
... // something here that will throw an SQLiteException
} catch (SQLException e) {
e.printStackTrace();
}
我的假設是否正確,我應該捕捉SQLiteException?
如果它很重要,我使用的代碼不在Activity的內部,而是在擴展Application
類的類中。
作爲一個方面說明,我確實增加了一個額外的catch(Exception e){}
以查看這是否會起作用,並且確實按預期工作。
實際上一個相當有趣的問題......因爲它確實是SQLException的一個子類:http://developer.android.com/reference/android/database/sqlite/SQLiteException.html –