Implemented transaction on_error