我一直无法捕捉到在我的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);
}