このメソッドではなく、より高いレベルで例外を処理したいが、オブジェクト& bが正しく閉じられていることを確認したい。複数の例外スローアオブジェクトを正しく処理する方法
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
閉じるメソッドのエラーチェックで何を得ていますか?なぜ彼らはそれ以上の扱いをされていないのですか? –