关于finally语句的提问
class   Exce 
             { 
                         static   void   Main() 
                         { 
                                     try 
                                     { 
                                                 Console.WriteLine( "Executing   the   try   statement. "); 
                                                 throw   new   NullReferenceException(); 
                                     } 
                                     catch   (NullReferenceException   e) 
                                     { 
                                                 Console.WriteLine( "   Caught   exception   #1. "); 
                                     }                                     
                                  finally 
                                     { 
                                                 Console.WriteLine( "Executing   finally   block. "); 
                                     } 
                         } 
             } 
 在try_catch_finally这个结构中,finally语句如果去掉的话,   Console.WriteLine( "Executing   finally   block. ");这句都会执行的,那么 
 finally语句到底有什么作用。
------解决方案--------------------不一样.... 
 要是catch 块中再有异常抛出... 
 finally 块一样会执行.   
 要是没没finally ,catch 块中抛出异常,catch后面的语句就不能执行了..   
------解决方案--------------------除了 yeerh(边城浪) 说的情况,还有一种情况,就是如果 try...catch ... 中有renturn 时: 
 1、有 finally 块的代码  Console.WriteLine( "Executing finally block. ");始终要执行,只有执行完  Console.WriteLine( "Executing finally block. ");才真正返回; 
 2、没有 finally 块的代码,则在遇到 return 时就返回了。 
 所以,finally 块可以增强系统的稳定性,一般在此处放置的代码一般是系统资源的释放工作。 
 比如: 
 IDBWrapper dbWrapper = GetDBWrapper(); 
 try 
 { 
 dbWrapper.Open(); 
 dbWrapper.BeginTrains();   
 // somethings   
 dbWrapper.CommitTrains(); 
 } 
 catch(Exception exp) 
 { 
 // 记录错误日志 
 } 
 finally 
 { 
 if (ConnectionState.Closed != dbWrapper.State) 
 { 
 // 关闭数据库联接 
 dbWrapper.Close(); 
 } 
 }