У меня в RestTemplate
есть следующая обработка ошибок:
try {
restTemplate.postForObject(..);
} catch (ResourceAccessException e) {
throw new CustomException("host is down");
}
Вопрос: как добиться того же с пружиной WebClient
?
try {
webClient.post()...block();
} catch (Exception e) {
//cannot check due to package private access
//if (e instanceof Exceptions.ReactiveException)
if (e.getCause() instanceof java.net.ConnectException) {
throw new CustomException("host is down");
}
}
Проблема: я не могу напрямую поймать ConnectionException
, потому что он заключен внутри ReactiveException
. Могу ли я сделать лучше, чем применять несколько instanceof
проверок на наличие реальных основных исключений?