[英]How do I correctly handle errors like these in SQLite/Java/Android?
例如,我有這樣的事情:
public void saveFoodatas(List<Foodata> foodataList) {
DatabaseHelper.database.beginTransaction();
try {
for (Foodata foodata : foodataList) {
saveFoodata(foodata);
}
DatabaseHelper.database.setTransactionSuccessful();
}
finally {
DatabaseHelper.database.endTransaction();
}
}
其中DatabaseHelper
是擴展SQLiteOpenHelper
的類,而database
是SQLiteDatabase
。
在此功能中,我試圖做到這一點,以便您將許多對象保存/提交到數據庫,但是如果發生故障,則不要提交任何更改。
我相信它當前可以正確執行的操作(如果有錯誤,它將離開我認為的try
塊,由於沒有catch
,它會直接進入finally
),但是我的問題是如何正確觸發失敗條件。 我需要saveFoodata
來“引發異常”嗎? 如果函數在沒有我進行任何嘗試/捕獲/拋出的情況下遇到某種故障,那也算在內嗎? 我到底該如何處理saveFooData()
?
我認為您在正確的軌道上。 如果發生錯誤,您需要中止事務。 您還需要警告用戶該問題。 這意味着saveFoodata()
和saveFoodatas()
應該拋出異常,以便UI代碼可以向用戶顯示一條消息,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.