假设Constructor和Process方法可能抛出异常,使用Disposable对象的最佳方法是什么?我通常更喜欢以下实现之一.
try-catch周围使用块
try
{
using (Disposable dispObj = new Disposable())
{
dispObj.Process();
}
}
catch (Exception ex)
{
// Do something
}
Run Code Online (Sandbox Code Playgroud)try-catch-finally块.
Disposable dispObj2 = null;
try
{
dispObj2 = new Disposable();
dispObj2.Process();
}
catch (Exception ex)
{
// Do something
}
finally
{
if (dispObj2 != null)
{
dispObj2.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)更新:
再说一遍:"假设Constuctor和Process方法可能抛出异常".我真的不明白为什么没有人关心他们答案中的异常.
Nik*_*wal 10
using
很好.它有一个内置的try-finally块.如果发生异常,则自动调用dispose方法.
这可以
using (Disposable dispObj = new Disposable())
{
dispObj.Process();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1563 次 |
最近记录: |