我可以在之前的 Java 6 中应用“通过改进的类型检查重新抛出异常”吗?在 Java 规范中,他们说此功能仅适用于 Java 7 及更高版本?但是,我尝试用 Java 6 编写一些源代码并应用相同的方法并得到相同的结果......我不知道我的代码哪里不正确。
我附上了一些图片:
- FirstException, SecondException ---> 实现异常
- SourceCode1 ---> 原始源代码(Java 6 和 7 正确)
- SourceCode2 ---> 我可以使用这种方式来替换 Java 6 中更精确的重新抛出异常吗?
- SourceCode3 ---> Java 7 中更精确的重新抛出异常
不知道SourceCode2和SourceCode3是一样的还是不一样的?但是,当我执行两者时,我得到相同的结果..
我很困惑 SourceCode2 是否是另一种在 Java 中使用更精确的重新抛出异常的方法?
以及,我们为什么要使用此功能?
谢谢你的帮助
最佳答案
Here是对 Oracle 指南的引用。引用:
in Java SE 7, you can specify the exception types FirstException and SecondException in the throws clause in the rethrowException method declaration.
所以答案是否定的。在 Java 6 中,您不能更改继承方法的声明,即使在抛出异常方面也是如此。
编辑
在 Java 6 中,如果声明了方法,则抛出,比方说 - Exception
,那么所有继承自该方法的类都必须具有抛出 Exception
的方法。无论。在 Java 7 中,后代类的方法在重新抛出方面可以更加精确。
关于java - "Rethrowing Exceptions with Improved Type Checking"在 Java 6 及之前的版本中可用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854492/