我在Netty中写了一些简单的代码
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
我想处理java.net.ConnectException
,
错误[main](SDKUpHandler.java:37)|来自的意外异常 下游。 java.net.ConnectException:连接被拒绝:连接: 本地主机/ 127.0.0.1:12345
但是我找不到办法,因为Netty版本bind
和connect
并没有把它们抛弃。
从 javadoc ,connect()会抛出两个异常,但没有java.net.ConnectException
个东西。
抛出:
ClassCastException - 如果“localAddress”选项的值既不是SocketAddress也不是null
ChannelPipelineException - 如果此bootstrap的pipelineFactory无法创建新的ChannelPipeline
任何机构都可以提供一些解决方案吗?
答案 0 :(得分:1)
Netty是异步的。您需要将ChannelFutureListener添加到ChannelFuture,一旦操作完成,它将收到通知。这样,您将收到“成功”或异常通知。查看包含所有这些内容的用户文档。