【发布时间】:2013-07-12 05:08:07
【问题描述】:
在 Eclipse 中添加 try/catch 块时,它为我提供了“使用 try/multi-catch 环绕”或“使用 try/catch 环绕”的选项。
这是 try/multi-catch:
try {
save.load(new FileInputStream(file.getAbsolutePath()));
}
catch (FileNotFoundException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是单次尝试/捕获:
try {
save.load(new FileInputStream(file.getAbsolutePath()));
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
使用其中一种有什么好处/影响?如果我是正确的,第一个示例将在抛出任何一个异常时执行 catch 块并产生 SAME CATCH,而第二个示例将在启用单独的 catch 块时基于异常抛出一个 catch。
还有什么我应该知道的吗?没用过,不知道值不值得用。
【问题讨论】:
-
提高或降低可读性!
-
如果您在两种情况下都在做同样的事情,请使用 multi-catch。如果不是,那就不是。
-
请注意,
FileNotFoundException是IOException。 -
@PaulBellora 我为示例设置了 Eclipse 自动完成功能。它在我的真实代码中得到了纠正。
-
@Aaron 我和你在一起,别担心。相信我,我已经看到 Eclipse 产生了很多愚蠢的东西。