2

我在声纳上收到了这个警告。这个警告的正确解决方案是什么。我的方法是这样的:

public void abc(A a) throws Exeption {

        dao.pqr(a);
}

我在 Class 中收到此方法的警告。对此有什么正确的解决方案?

4

4 回答 4

13

如果已知异常,您应该抛出实际的异常。

如果您调用的方法throws Exception并且您无法更改它,则除了禁止警告之外,您无能为力。

于 2013-01-18T11:24:45.753 回答
2

您可以捕获异常并将其重新转换为特定异常。

 protected RunningJob submitJob(Configuration actionConf) throws RuntimeException {
    .....
    RunningJob rj;
    try{
        rj = super.submitJob(actionConf);
    }catch(Exception e){
        throw new RuntimeException(e);
    }
    return rj;
 }
于 2014-03-21T11:38:56.700 回答
2

一个方法只能抛出与其接口相关的异常。异常是所有异常的“根”,所以尽量具体一点。

于 2013-01-18T11:27:25.193 回答
1

如果您 throw Exception,则不清楚该方法可以抛出哪些异常,因为这Exception是非常通用的。

于 2013-01-18T11:24:32.777 回答