我停止了使用剩余模板调用的实例,以便能够捕获抛出的错误。错误是:
org.springframework.web.client.ResourceAccessException: I/O error on POST request for
Caused by: java.net.SocketTimeoutException: Connect timed out
我处理 try / catch 块中的错误,并记录以验证是否捕获了 ResourceAccessException。
日志已打印,因此错误被捕获,并在该 catch 块内返回默认值。
但问题是,错误仍然打印在spring控制台中,我无法阻止。
try {
ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
return PipsUtils.roundToTwo(Float.parseFloat(Objects.requireNonNull(exchange.getBody())));
} catch (ResourceAccessException e) {
log.error("An error occurred while connecting to instance with port: {}", port, e);
throw new InstancesException("Connection to instances refused!");
}
我想捕获错误并停止在控制台中打印它。
我知道我不应该这样做。 无论如何,请尝试下面的代码。
try {
ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
return PipsUtils.roundToTwo(Float.parseFloat(Objects.requireNonNull(exchange.getBody())));
} catch (ResourceAccessException e) {
// I don't know return type of PipsUtils.roundToTwo
return PipsUtils.roundToTwo(0f);
}