Got a question about exception handling when it comes to the fact that commits happen at the end of a transaction. Is my understanding correct that an exception in the sample code below would never be caught? Because the DAO style update doesn't commit to the DB until the end of the transaction we won't see an exception until that time, and that's outside the try/catch? Or is Exposed smart enough to know the exception happened as a result of that field update within the try block and catch the exception?
transaction() {
try {
record.field = newValue
} catch (e: Exception) {
handleException()
}
doAThing()
}