我可以在之前的Java规范中应用Java 6中的“改进类型检查的Rethrowing Exceptions”,他们说这个功能仅适用于Java 7及更高版本吗?但是,我尝试在Java 6中编写一些源代码并应用相同的方式并得到相同的结果......我不知道代码中的错误在哪里。
我附上了一些图片:
我不知道SourceCode2和SourceCode3是否相同?但是,当我执行两者时,我得到相同的结果..
我很困惑SourceCode2是在Java中使用更精确的重新抛出异常的另一种方式吗?
而且,为什么我们使用此功能?
感谢您的帮助
答案 0 :(得分:2)
Here是对Oracle指南的引用。引用:
在Java SE 7中,您可以在rethrowException方法声明中的throws子句中指定异常类型FirstException和SecondException。
所以答案是否定的。在Java 6中,即使在抛出异常方面,也无法更改继承方法的声明。
在Java 6中,如果声明了方法,那就抛出 - 比如Exception
,那么从那个继承的所有类必须有抛出Exception
的方法。无论。在Java 7中,后代类的方法在重新投掷方面可以更精确。