假设 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(); } }
更新:
再次:“假设 Constructor 和 Process 方法可能会抛出异常”。我真的不明白为什么没有人关心他们的答案中的异常。