【发布时间】:2011-11-10 09:59:28
【问题描述】:
更精确的重新抛出允许编写抛出真正抛出的异常的代码:
public void foo(String bar) throws FirstException, SecondException {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
在 Java 7 之前,您必须编写:
public void foo(String bar) throws Exception {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
我的问题:是否有一种工具可以检测不精确的投掷以将“Exception”替换为“FirstException, SecondException”?
到目前为止,我已经检查过 Eclipse 中没有编译器警告。 FindBugs 或 CodePro 中没有规则。
【问题讨论】:
-
我建议您在您的问题中添加以下句子:“我的目标是……”到目前为止,您还没有得到好的建议,因为人们一直在猜测您的目标是错误的。
-
我认为这个问题很清楚:为了更新懒惰编写的遗留代码以引发过于广泛的异常,是否有一种工具可以找到这样的代码,以便可以使用新的方便的 Java7 语法。
标签: java exception java-7 rethrow