(版本:Netty 4.0.4.Final)
如果出现异常ChannelInboundHandler
,我可以在方法中处理它,exceptionCaught()
但如果出现异常ChannelOutboundHandler
,我不能。因为,exceptionCaught()
不是一个电话。为什么会这样?
只有通过分析未来结果来处理出站异常,如下所示:
channel.writeAndFlush(serverPacket).addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (!future.isSuccess()) {
future.cause().printStackTrace();
}
}
});
但这非常不方便。