Greendao, как быть предупрежденным в случае сбоя обновления

StackOverflow https://stackoverflow.com//questions/24037658

  •  21-12-2019
  •  | 
  •  

Вопрос

Я прочитал документацию Greendao и не нашел никакой подсказки о способе предупрежденного, если по какой-то причине обновление не удается для объекта ...

Обновление (T-объект) не возвращает ничего, и не бросает любую ошибку ...

Так есть ли способ знать, если процесс обновления не удался?

Спасибо.

Это было полезно?

Решение

Если обновление не работает, вы получаете sqlexception ОтказТак как SQLException extends [RuntimeException][2] it doesn't have to be handled and thus doesn't have to be declared withthrows`.

Единственные причины для UpdateFaileure я могу подумать в данный момент:

    .
  • Первичный ключ в вашем обновлении-объекте пусто.
  • Первичный ключ вашего объекта обновления не найден в вашей БД.
  • Обновление нарушает некоторые ограничения (то есть уникальные).
  • база данных или файловая система повреждена.

Так что обычно, если вы уверены, что вы не будете нарушать ограничения, и если вы осторожны с первичным ключом, ваши обновления не потерпят неудачу.

Если вы не уверены, что можете окружать ваше обновление с помощью Try-Catch-Block.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top