【发布时间】:2012-08-01 09:17:58
【问题描述】:
假设 Constructor 和 Process 方法可能抛出异常,使用 Disposable 对象的最佳方法是什么?我通常更喜欢以下实现之一。
-
try-catch 使用块包围
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 方法可能会抛出异常”。我真的不明白为什么没有人关心他们的答案中的异常。
【问题讨论】:
-
为什么是空的
catch{}? -
你的班级
Disposable必须实现IDisposableinterface,顺便说一句。
标签: c# idisposable