7
(版本:Netty的4.0.4.Final)爲什麼ChannelOutboundHandler異常未被exceptionCaught()方法捕獲? (Netty的4.0.4.Final)
如果異常上升ChannelInboundHandler
,我能應付在exceptionCaught()
方法,但如果異常上升ChannelOutboundHandler
,我不能。因爲,exceptionCaught()
不是通話。這是爲什麼?
只有通過analize未來的結果來處理出站例外像這樣:
channel.writeAndFlush(serverPacket).addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (!future.isSuccess()) {
future.cause().printStackTrace();
}
}
});
但它是非常不方便的。