【发布时间】:2016-02-14 22:13:49
【问题描述】:
所以我正在用 Java 做一个小项目,我已经归结为 main 方法,但我不确定我应该如何正确处理 try-catch 异常。
我应该是:
尝试捕获我知道可能会引发异常的特定代码行? 喜欢:
public class Stuff {
public static void main(String[] args) {
try {
// code that will probably throw exception 1 or 2
} catch (exception1 e) {
// handle exception 1
} catch (exception2 e) {
// handle exception 2
}
//rest of code that probably won't throw any exceptions
}
}
或
尝试捕获整个main方法即使try块中的某些代码不会抛出异常?喜欢:
public class Stuff {
public static void main(String[] args) {
try {
// code that will probably throw exception 1 or 2
// rest of code that probably won't throw any exceptions
} catch (exception1 e) {
// handle exception 1
} catch (exception2 e) {
// handle exception 2
}
}
}
【问题讨论】:
-
哪个更易读,对你更好。
-
@rdean400,这是有道理的。我想知道是否有任何约定或某种更可取的约定(不是从优化的角度来看),但我想在阅读 Maxim Golman 的链接后确实没有区别。谢谢!
-
理想情况下,我们应该有更小的 try 块,并且有非常接近异常源的特定异常处理逻辑。但是,这可能太冗长了,而且我们往往很懒惰;因此,如果我们可以摆脱较粗的块,我们会的。
标签: java exception exception-handling try-catch