try { ... commit() } finally { rollbackIfActive() }