对于Try catch finally,大家应该都不陌生,您接触的写法可能会是下面的记几种类型:

Try catch (您可以匹配多个catch)

 

            try
            {
            }
            
catch (Exception)
            {
                
throw;
            }

 

Try finally 

            try
            {
            }
            
finally
            {
            }

 

Try catch finally (同样,你一样可以匹配多个catch)

Try catch finally
            try
            {
            }
            
catch (ArgumentNullException e)
            { }
            
catch (Exception ex)
            { }
            
finally
            {
            }

 

 在这里,finally的作用简单的一句话说就是“无论try里面的代码正常执行或者发生异常,都会继续执行finally里面的代码”,所以我们一般会在finally里面执行我们的一些清理操作。尤其对于操作一些非托管资源或者比较珍贵的资源的时候,执行必要的清理操作显得尤为重要,具体的解释您可以参考MSDN

说了这些,我们来看看try finally,不知道您平时是使用try finally,还是会使用更简洁的语法using {}。对于using, 我这里并不是想详细的解释它的用法,如果您想了解,您请看这里。我们都知道using只是为了让语法变的更简洁而已,我不知道在这里用语法糖这个词来形容它是否合适。为了验证try finally和using是否一致,我再次查看了编译之后的代码(这里我还是使用MSDN的例子):

 

            {
                Font font1 
= new Font("Arial"10.0f);
                
try
                {
                    
byte charset = font1.GdiCharSet;
                }
                
finally
                {
                    
if (font1 != null)
                        ((IDisposable)font1).Dispose();
                }
            }

相关文章: