George
10/24/2022, 1:14 PMinternal inline fun <T> runRecoveringTransaction(transaction: () -> T?): T? {
val result = runCatching { transaction() }
return result.getOrElse {
if (it is DataIntegrityViolationException) return null else throw it
}
}
any suggestions for better name?
• recoverTransaction
-> i think it's a bit generic
• ifRollbackReturnNull
-> a bit weird?Youssef Shoaib [MOD]
10/24/2022, 7:27 PMreturnNullOnRollback
maybe? Or runWithRollbackHandling
George
10/24/2022, 7:50 PMrunRecoveringXxx
misleading?Paul Woitaschek
10/30/2022, 9:34 AM