Constructor メソッドと Process メソッドが例外をスローする可能性があると仮定すると、Disposable オブジェクトを使用するための最良の方法は何ですか? 私は通常、以下の実装のいずれかを好みます。
ブロックを使って周囲をトライキャッチ
try { using (Disposable dispObj = new Disposable()) { dispObj.Process(); } } catch (Exception ex) { // Do something }
try-catch-finally ブロック。
Disposable dispObj2 = null; try { dispObj2 = new Disposable(); dispObj2.Process(); } catch (Exception ex) { // Do something } finally { if (dispObj2 != null) { dispObj2.Dispose(); } }
アップデート:
繰り返しますが、「コンストラクターとプロセスのメソッドが例外をスローする可能性があると想定しています」。なぜ誰も答えの例外を気にしなかったのか、私には本当にわかりません。