我在Java 7中添加了Rethrow Exception功能。我知道它的概念,但是我想看看它的实际应用以及为什么需要此功能?
最佳答案
我将以here为例
这是示例:
static class FirstException extends Exception { }
static class SecondException extends Exception { }
public void rethrowException(String exceptionName) throws FirstException, SecondException {
try {
if (exceptionName.equals("First")) {
throw new FirstException();
} else {
throw new SecondException();
}
} catch (FirstException e) {
throw e;
}catch (SecondException e) {
throw e;
}
}
这将同时使用Java 6和7进行编译。
如果要保留方法签名中的检查异常,则必须在Java 6中保留繁琐的catch子句。
在Java 7中,您可以通过以下方式进行操作:
public void rethrowException(String exceptionName) throws FirstException, SecondException {
try {
if (exceptionName.equals("First")) {
throw new FirstException();
} else {
throw new SecondException();
}
} catch (Exception e) {
throw e;
}
因此,您的好处是您没有那么麻烦的catch子句。