exception handling code around Transaction operations