我实现的处理程序覆盖SimpleChannelHandler messageReceived,channelConnected和exceptionCaught方法。
抛出基础异常类型意味着PMD抱怨“签名声明引发异常”。
处理Netty异常的最佳方法是什么,而不是throw基类异常类型?
我的猜测是从我的所有处理程序中删除“抛出异常”。然后,任何发生的异常最终都会传播到管道中最后一个上游/下游处理程序中的exceptionCaught()方法。这是正确的假设吗?
答案 0 :(得分:1)
虽然我碰巧同意PMD,但Netty的对象模型不同,并使用原始异常。如果您使用Netty API进行编程,那么遵循他们的模型可能会更好(为了保持一致性,可读性等)。
不要让静态分析工具成为代码的决定因素。有时会有例外(好的双关语,不是有意的)