Added Exception detection and re-throwing to UserGateway