码迷,mamicode.com
首页 > 其他好文 > 详细

坑人的 try catch finally

时间:2014-10-25 17:04:20      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   strong   sp   div   

一直以为这样可以关闭 fs, 其实不行

static void Main(string[] args)
                {
                                FileStream fs = null;
                                try
                                {
                                        fs = new FileStream(@"d:\data.txt", FileMode.Create);
                                        byte[] bytes = new UTF8Encoding().GetBytes("try");
                                        fs.Write(bytes, 0, bytes.Length);
                                        throw new Exception();//异常不作处理
                                }finally
                                {
                                        byte[] bytes = new UTF8Encoding().GetBytes(" finally");
                                        fs.Write(bytes, 0, bytes.Length);
                                        if (fs != null)
                                                fs.Close();
                                }
                }
  
要这样才能有效关闭 fs:
static void Main(string[] args) { try { FileStream fs = null; try { fs = new FileStream(@"d:\data.txt", FileMode.Create); byte[] bytes = new UTF8Encoding().GetBytes("try"); fs.Write(bytes, 0, bytes.Length); throw new Exception();//异常不作处理 }finally { byte[] bytes = new UTF8Encoding().GetBytes(" finally"); fs.Write(bytes, 0, bytes.Length); if (fs != null) fs.Close(); } } catch { throw; } }

 

坑人的 try catch finally

标签:style   blog   color   io   os   ar   strong   sp   div   

原文地址:http://www.cnblogs.com/yipeng-yu/p/4050219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!