Greendao, как быть предупрежденным в случае сбоя обновления
Вопрос
Я прочитал документацию Greendao и не нашел никакой подсказки о способе предупрежденного, если по какой-то причине обновление не удается для объекта ...
Обновление (T-объект) не возвращает ничего, и не бросает любую ошибку ...
Так есть ли способ знать, если процесс обновления не удался?
Спасибо.
Решение
Если обновление не работает, вы получаете sqlexception ОтказТак как SQLException extends [RuntimeException][2] it doesn't have to be handled and thus doesn't have to be declared with
throws`.
Единственные причины для UpdateFaileure я могу подумать в данный момент:
- .
- Первичный ключ в вашем обновлении-объекте пусто.
- Первичный ключ вашего объекта обновления не найден в вашей БД.
- Обновление нарушает некоторые ограничения (то есть уникальные).
- база данных или файловая система повреждена.
Так что обычно, если вы уверены, что вы не будете нарушать ограничения, и если вы осторожны с первичным ключом, ваши обновления не потерпят неудачу.
Если вы не уверены, что можете окружать ваше обновление с помощью Try-Catch-Block.
try {
myEntityDao.update(myObj);
} catch (SQLException ex) {
// handle the failure here
}
.