【发布时间】:2015-07-13 17:22:01
【问题描述】:
是否需要捕获我在 throws 子句中指定的异常?反之亦然,是否需要指定捕获的异常?
public method() throws IOException, SQLException {
...
try {
....
}catch(IOException | SQLException ex) {
ex.getMessage();
}
}
【问题讨论】:
-
上面的代码没有意义。该方法实际上永远不会抛出这些异常,因为您捕获了它们,但是您将强制调用方法捕获异常(永远不会抛出)或在整个流程中将它们声明为“可以抛出”。所以:要么抓住它们,要么扔掉它们。但是,不,如果你接住了它们,你就不应该扔球。
-
没有。您要么在方法签名中抛出异常,要么捕获它们。你不应该两者都做。如果这样做,
catch将执行 -
这基本上就是你和狗玩的游戏——假装你在扔球,然后抓住它,看到你的狗一无所获。
标签: java exception try-catch throws