簡體   English   中英

如何在SQLite / Java / Android中正確處理此類錯誤?

[英]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的類,而databaseSQLiteDatabase

在此功能中,我試圖做到這一點,以便您將許多對象保存/提交到數據庫,但是如果發生故障,則不要提交任何更改。

我相信它當前可以正確執行的操作(如果有錯誤,它將離開我認為的try塊,由於沒有catch ,它會直接進入finally ),但是我的問題是如何正確觸發失敗條件。 我需要saveFoodata來“引發異常”嗎? 如果函數在沒有我進行任何嘗試/捕獲/拋出的情況下遇到某種故障,那也算在內嗎? 我到底該如何處理saveFooData()

我認為您在正確的軌道上。 如果發生錯誤,您需要中止事務。 您還需要警告用戶該問題。 這意味着saveFoodata()saveFoodatas()應該拋出異常,以便UI代碼可以向用戶顯示一條消息,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM