我一直无法捕捉到发生在我的 vertx HttpClientRequest 中的超时异常。我在 try-catch 块中包含了我的连接和请求创建代码。我还添加了 exceptionHandler 和 endHandler。但是当超时发生时,他们都不会被解雇。我收到的只是打印在控制台上的以下错误消息。请告诉我如何捕获此异常,以便我可以用相关信息回电调用者。
io.vertx.core.http.impl.HttpClientRequestImpl 严重:io.netty.channel.ConnectTimeoutException:连接超时:
下面的代码是我用来向服务器发出请求的代码。如您所见,我也使用了 try-catch 并添加了 exceptionHandler。
try{
HttpClient httpClient = Vert.x.createHttpClient(new HttpClientOptions().setSsl(true).setTrustAll(true).setVerifyHost(false));
HttpClientRequest request = httpClient.get(port, host, uri.getRawPath(), event-> {
event.exceptionHandler(e -> {
log.error(" Error:: " + e);
});
event.handler(handler -> {
//code
});
});
request.putHeader(HttpHeaders.Names.AUTHORIZATION, "Basic "+authEnc);
request.end();
} catch(Exception e){
log.error(" Exception :: " + e);
}