Java 6及更早版本中是否提供了“使用改进的类型检查重新排除异常”?

时间:2017-12-17 11:12:14

标签: java

我可以在之前的Java规范中应用Java 6中的“改进类型检查的Rethrowing Exceptions”,他们说这个功能仅适用于Java 7及更高版本吗?但是,我尝试在Java 6中编写一些源代码并应用相同的方式并得到相同的结果......我不知道代码中的错误在哪里。

我附上了一些图片:

  • FirstException,SecondException --->实施例外
  • SourceCode1 --->原始源代码(对Java 6和7正确)
  • SourceCode2 --->我可以用这种方式在Java 6中替换更精确的重新抛出异常吗?
  • SourceCode3 ---> Java 7中更精确的重新抛出异常

我不知道SourceCode2和SourceCode3是否相同?但是,当我执行两者时,我得到相同的结果..

我很困惑SourceCode2是在Java中使用更精确的重新抛出异常的另一种方式吗?

而且,为什么我们使用此功能?

感谢您的帮助

FirstException

SecondException

SourceCode1 (both java 6 and 7)

SourceCode2 (java 6)

SourceCode3 (java 7)

1 个答案:

答案 0 :(得分:2)

Here是对Oracle指南的引用。引用:

  

在Java SE 7中,您可以在rethrowException方法声明中的throws子句中指定异常类型FirstException和SecondException。

所以答案是否定的。在Java 6中,即使在抛出异常方面,也无法更改继承方法的声明。

修改

在Java 6中,如果声明了方法,那就抛出 - 比如Exception,那么从那个继承的所有类必须有抛出Exception的方法。无论。在Java 7中,后代类的方法在重新投掷方面可以更精确。