我想處理更高級別的異常不在此方法,但我想確保對象& b正確關閉。如何正確處理多個異常thrower對象
close()方法也可以拋出異常。
此模板是否適合此解決方案或者有更智能/更簡單的解決方案?
public void foo() throws Exception {
A a = null;
B b = null;
try {
a = new A();
b = new B();
...
} catch(Exception e) {
throw e;
}
finally {
Exception ex = null;
try {
if (a != null)
a.close();
} catch(Exception x){
ex = x;
}
try {
if (b != null)
b.close();
} catch(Exception x) {
ex = x;
}
if (ex != null)
throw ex;
}
爲什麼會將[c#]和[java]兩者都標記爲何的任何原因? – BoltClock
你通過關閉方法的錯誤檢查獲得了什麼?爲什麼不讓他們進一步處理? –