毫无疑问,在.NET Framework中,一个资源(尤其是非托管资源)通常都需要实现IDisposable接口.一旦实现了该接口,我们就可以使用using语句来管理资源,这是最便捷的方式.但是,一旦在using语句中抛出了异常,就可能不会正确完成资源的回收,尤其是连接,很可能会一直打开,既占用了通道和端口,还可能出现资源的浪费,从而影响系统的性能和稳定性. 微软推荐的最佳实践是抛弃using语句,转而利用 try/catch(/finally)语句.它要求在try语句中调用Close()方法,…