【发布时间】:2013-03-26 01:46:32
【问题描述】:
我很难完全理解让异常在调用堆栈中传播的概念或真正的用处。我知道如何创建它们,但我真的不知道它们什么时候会被使用,比如在一个简单的现实世界数学应用程序中。
public void method1(){
try{
method2();
}
catch(Exception e){
e.printStackTrace();
}
}
public void method2(){
try{
throw new Exception();
}
finally{
System.out.println("no exception, try cleanup");
}
}
我知道这基本上就是它的工作方式,虽然它可能会更多地涉及更多的异常和函数,但我并没有真正理解使用这些而不是在每个函数中都有捕获的意义。
【问题讨论】:
-
因为每个函数中都有一个捕获隐藏异常。这是一个常见的“ick code”错误。如果您不打算处理异常,不要捕获它。如果您只想记录它,而不进行其他处理,也重新抛出异常。