Spring Resttemplate la gestione delle eccezioni

Di seguito è riportato lo snippet di codice; in sostanza, sto tentando di propagare l’eccezione quando il codice di errore è diverso da 200.

ResponseEntity 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(); } 

Tuttavia, nel caso di una risposta 500 dal server, ottengo l’eccezione

 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] 

Ho davvero bisogno di avvolgere il resto del metodo di scambio template in prova? Quale sarebbe allora lo scopo dei codici?