Manipulação de exceção Spring Resttemplate

Abaixo está o trecho de código; basicamente, estou tentando propagar a exceção quando o código de erro é diferente de 200.

ResponseEntity<Object> response = restTemplate.exchange(url.toString().replace("{version}", version),
                    HttpMethod.POST, entity, Object.class);
            if(response.getStatusCode().value()!= 200){
                logger.debug("Encountered Error while Calling API");
                throw new ApplicationException();
            }

No entanto, no caso de uma resposta de 500 do servidor, estou recebendo a exceção

org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) ~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]

Eu realmente preciso agrupar o método restante de troca de modelos na tentativa? Qual seria então o propósito dos códigos?

questionAnswers(8)

yourAnswerToTheQuestion