vertx 监听端口的错误怎样监听。
@Override
public void start() throws Exception {
try{
vertx.createHttpServer()
.requestHandler(req -> req.response().end("hello"))
.listen(8080)
.connectionHandler( r-> {
System.out.println(r.remoteAddress());
})
.close( r -> {
System.out.println("closed");
});
}catch (Exception e){
//e.printStackTrace();
System.out.println("eeee");
}
}
我想捕获 java.net.BindException: Address already in use: bind
该怎么写。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先你必须要理解vertx的设计——全异步非阻塞设计,因此vertx的方法几乎都是异步的,你无法像同步方法这样try-catch捕获异常。
vertx将异常信息全部放在了回调中,因此你必须在回调函数中获取异常信息。参考官方文档: http://vertx.io/docs/vertx-co...
稍作修改即可:
AsyncResult
的cause()
方法即可拿到Throwable
对象,进而得到Exception
类型和内容。强烈建议详读vertx官方文档中的
core
部分,对理解vertx的框架设计非常重要。