kan*_*e77 1 java exception-handling
我有方法,所有传播异常,然后我在一个地方处理,但我意识到了一些事情.
假设我有这样的方法
public void foo() throws Exception e {
Statement stmt = createStatement();
doSomething(stmt);
stmt.close();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果doSometing()方法抛出异常,语句将不会被关闭,但我不想在那里处理异常.是尝试捕获的唯一方法,只重新抛出异常,最后关闭声明?
public void foo() throws Exception e {
Statement stmt = null ;
try {
stmt = createStatement();
doSomething(stmt);
} finally {
if(stmt != null)
stmt.close();
}
}
Run Code Online (Sandbox Code Playgroud)