Tôi có một số mã trong một trong các ứng dụng Android của tôi bắt SQLException, nhưng gần đây tôi thấy rằng nó không bắt được SQLiteException. Rõ ràng, SQLiteException là một đứa trẻ của SQLException, vậy tại sao nó không bị bắt? Đây là một số mã tôi đang sử dụng.Tại sao SQLException không nhận được SQLiteExcpetion?
try {
... // something here that will throw an SQLiteException
} catch (SQLException e) {
e.printStackTrace();
}
Giả định của tôi có đúng là tôi nên bắt SQLiteException không?
Nếu có vấn đề gì cả, tôi đang sử dụng mã này không phải bên trong Hoạt động, nhưng bên trong lớp mở rộng lớp Application
.
Là một lưu ý phụ, tôi đã thêm catch(Exception e){}
bổ sung để xem điều đó có hiệu quả hay không và nó thực sự hoạt động như mong đợi.
một câu hỏi khá thú vị thực sự ... vì nó thực sự là một phân lớp của SQLException: http://developer.android.com/reference/android/database/sqlite/SQLiteException.html –