Dev 1.1 Second Pull Request

please do rollback first before throwing the exception because if you do it the other way around, the method will exit without doing the rollback