这是一个"好"的代码?
try
{ /*stuff*/ }
catch (Exception e)
{ /*stuff*/ }
finally
{
try
{ /*stuff*/ }
catch { /*empty*/ }
}
Run Code Online (Sandbox Code Playgroud)
我需要在finally中执行复杂的操作,它可能会崩溃,因为它连接到数据库
这看起来很奇怪,所以.这是正确的方法吗?
这实际上取决于你在做什么,但就我个人而言,如果它确实是在另一个 try catch 之后并在操作完成之后,我不会将其嵌套在 finally 中,只是将其视为另一个 try catch 。这将消除其中的一些“奇怪”之处。