例如:
    function1()会抛出异常,但是以 System.Exception 的类型抛出。
    function2()调用 function1(),并且要按照捕获的不同派生类型异常进行相应的处理,如下面的代码所示:

    function2()
   {...
     try
     {
        function1();
     }
     catch (System.Data.SqlClient.SqlException)
     {
        doSomething...
     }
     catch ...
   }

     其中 System.Data.SqlClient.SqlException 异常类以 System.Exception 类为根类多次派生而来。很想知道运行时 catch 语句能否成功地把 Exception 类向下类型转换为 SqlException 类。虽然代码通过了编译,可还是很不放心。