{
// Do something about the exception
}
finally
{
// Ensure that the connection is freed
conn.Close ( ) ;
}
在finally块中,可以释放已经使用的任何资源。这种方式的惟一麻烦是必须确保关闭连接。很容易忘记在finally块中添加关闭连接的命令,所以应在编码风格上添加一些不容易出现反常情况的内容。
另外,在给定的方法中可能会打开许多资源(例如两个数据库连接和一个文件),这样try…catch…finally块的层次有时可能不容易看懂。但还有另一个方式可以确保资源的关闭—— 使用using语句。
第二种方式—— 使用using语句块
在开发C#的过程中,.NET在对象不再引用之后清理它们的方法是使用非决定性的析构方式,这已经引起了一个非常热烈的讨论。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/