Col*_*e W 5 c# exception-handling
如果我有类似下面的方法,我可以在这里省略catch块以获得相同的结果吗?:
private ClassInstance GetMeANumber()
{
Resource a = null;
try
{
Resource a = new Resource();
return a.GetClassInstance();
}
catch
{
throw;
}
finally
{
if(a != null)
a.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
RB.*_*RB. 18
是的,那将是完全一样的.
然而,更常见的模式是实现IDisposable接口上Resource.然后你可以使用use 来更简洁地实现同样的事情.
using (Resource a = new Resource()) {
return a.GetClassInstance();
}
Run Code Online (Sandbox Code Playgroud)