gpt4 book ai didi

java - 如何在SQLite/Java/Android中正确处理此类错误?

转载 作者:行者123 更新时间:2023-12-03 08:51:35 25 4
gpt4 key购买 nike

例如,我有这样的事情:

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块,并且由于没有 finally而直接进入 catch),但是我的问题是如何正确触发失败条件。我需要 saveFoodata来“引发异常”吗?如果函数在没有我进行任何尝试/捕获/抛出的情况下遇到某种故障,那也算在内吗?我该如何正确处理 saveFooData()

最佳答案

我认为您在正确的轨道上。如果发生错误,您需要中止事务。您还需要警告用户该问题。这意味着saveFoodata()saveFoodatas()应该抛出异常,以便UI代码可以向用户显示消息,

关于java - 如何在SQLite/Java/Android中正确处理此类错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39706973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com