greendao,如果更新失败,如何收到警告

时间:2014-06-04 12:37:52

标签: android greendao

我已经阅读了greendao文档,如果由于某种原因导致某个实体的更新失败,并没有找到任何关于警告方式的线索......

更新(T实体)既不返回任何内容也不抛出任何错误......

那么有什么方法可以知道更新过程是否失败了?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果更新无效,您将获得SQLException。由于SQLException extends [RuntimeException][2] it doesn't have to be handled and thus doesn't have to be declared with投掷。

目前我能想到的更新失败的唯一原因是:

  • update-object中的主键为空。
  • 在您的数据库中找不到更新对象的主键。
  • 更新违反了一些限制(即唯一)。
  • 数据库或文件系统已损坏。

通常情况下,如果您确定不会违反约束条件,并且如果您小心使用主键,则更新不会失败。

如果您不确定是否可以使用try-catch-block包围更新。

try {
    myEntityDao.update(myObj);
} catch (SQLException ex) {
    // handle the failure here
}
相关问题