从函数返回catch块,最终阻塞会发生什么?

JPR*_*ddy 6 c# exception-handling return-value try-catch-finally

我尝试捕获finally块,如果发生一些异常,我将从catch块返回,所以最后块仍然执行,如果是的话,什么时候?返回之前还是返回之后?

这是正确的做法吗?

try
{
// do something
}

catch (Exception)
{    
  return false;
}
finally
{
  if (connection.State == ConnectionState.Open) connection.Close();
}
Run Code Online (Sandbox Code Playgroud)

Hoà*_*ong 6

它将在返回后执行"finally"块."最后"用于某些实践,例如关闭数据库连接(总是需要完成)

  • @Dennis:您知道不建议使用ICloneable吗?请参见此处:http://stackoverflow.com/questions/699210/why-should-i-implemple-icloneable-in-c (2认同)