第十四章 错误和异常

搞懂下面这些情况的异常处理情况就OK了!

try

  {

    // Point A

   try

     {

      //Point B

      }

    catch

      {

       //Point C

     }

    finally

     {

        // clean up

      }

     // Point D

    }

catch

   {

      //error handling

    }

finally

    {

     // clean up

   }

1. 如果在A.D出发生异常,则有外层Catch捕捉和外层 finally处理

2.如果在B出抛出,且有一个合适的内层Catch处理,就会执行内层的catch及finally

3.如果在B出抛出,内层没有合适的catch捕捉,则执行内层的finally块,退出内层try块,继续搜索外层的catch块。如果找到合适的处理程序,就执行处理程序,再执行外层的finally块,还是没有找到,执行外层的finally块后继续搜索。注意,D代码不会被执行

4 如果在C处抛出,则跟1情况类似,退出catch块,执行内层的finally块。在外层的catch种搜索处理程序。

5 如果在内层的finally块抛出异常,从外层的catch块开始搜索匹配的处理程序。

posted on 2011-03-16 15:41  小齐宝  阅读(131)  评论(0)    收藏  举报

导航