Limitations: transactions cannot be wrapped in a try/catch because begin and commit/rollback are separate tags.