Что произойдет, если исключение произойдет во время транзакции? db.endTransaction()
будет вызван, но любой запрос от транзакции будет выполнен? Или все будет отменено?Что делать, если запрос транзакции вызывает исключение?
try {
db.beginTransaction();
db.setTransactionSuccessful();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.endTransaction();
}
В случае исключения вы хотите отменить транзакцию. В этом случае все записи должны быть отменены или отменены. – Thomas
Это действительно зависит от того, что делают эти команды! Предполагая, что db.setTransactionSuccessful() - это точка, в которой выполняются коммиты, и только после того, как эти данные будут сохранены, обычно внутри блока catch вы должны иметь что-то вроде db.setTransactionFail(), который выполнит откат. – RLM