我使用了和IBM Rational Websphere软件(RAD)的Rational Software Architect ,并运行了代码分析器。我得到警告说自定义java Exception类应该是最终的。但这没有适当的理由。无论如何,对于某些要求,我们必须扩展自定义异常类以维护异常层次结构。所以最后没有用。在某些情况下,如果我们想限制对象的创建,可以将构造器标记为私有。
因此,任何机构都可以让我知道为什么自定义异常类应该是最终的吗?
最佳答案
我会向您推荐《有效的Java:有效的Java》一书:Josh Bloch说了不错的论点,以将类标记为final或记录扩展点以保持不变性并防止意外行为。
我指的是Item 17(用于继承的设计和文档,否则禁止它)
无论如何,这可能只是一个建议,如果您确信可以忽略它,那只是为了确保您已经考虑过。