【发布时间】:2011-02-23 23:50:41
【问题描述】:
有人可以向我解释一下,netty中的“下游异常”是如何处理的?根据javadoc,没有下游异常:
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/channel/ExceptionEvent.html
假设在我的一个下游处理程序中发生异常或在 I/0 线程本身中发生异常,这些错误可以在哪里捕获和处理?
非常感谢 汤姆
【问题讨论】:
有人可以向我解释一下,netty中的“下游异常”是如何处理的?根据javadoc,没有下游异常:
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/channel/ExceptionEvent.html
假设在我的一个下游处理程序中发生异常或在 I/0 线程本身中发生异常,这些错误可以在哪里捕获和处理?
非常感谢 汤姆
【问题讨论】:
如果在您的处理程序中引发异常,它总是会触发上游异常事件。异常是由上游处理程序还是下游处理程序引发无关紧要。
【讨论】:
正如您所说,SimpleChannelDownstreamHandler 似乎没有任何异常处理方法。您是否可以使用普通的旧SimpleChannelHandler,并使用下游方法,如writeRequested(...)? (也就是说,只需将您的代码移至该方法即可)。然后你可以在它抛出异常时使用exceptionCaught(...)。
【讨论】: