异常设计及相关技巧

一。嵌套异常的3种情况:

      1.含except的嵌套:

         就近原则:发生异常时,会被离发生异常的最近地方except捕获并拦截,

                       异常一旦被except捕获,就死了,这个异常的生命就终结了,

                       不会向上层的try,再做传递,同时执行就近的try后面的语句。

         

         

          样例:

          

           

      2. 含try/finally的嵌套:

          异常会传递:异常会向上层嵌套或调用的try传递,直至传递到默认异常

                           处理器,打印出异常信息

         

         样例:

         

      3. 即含except又含finally的嵌套:

         

         

二。异常的几种用法:

     所有的错误都是异常,但并不是所有的异常均是错误。

     1.文件读取判断是否到了行末:

        

     2. 对返回值的判断:

        

     3. try/finally and  with/as

         用于关闭文件或服务器的连接

         

         

         

   

     4. 用于程序调试:

         当有多个模块,多个函数互相调用,加try/except,可以确保其中一个或多个模块,函数的错误

         不会导致整个程序终止运行,同时能清晰的捕获和显示、保存异常信息

         

        

三。关于sys.exc_info():

四。异常使用的技巧:

     1. try里应该包装什么样的代码:

         

     2. 捕获的太多:

         

          

          

     3. 捕获的太少:

         

          

     

原文地址:https://www.cnblogs.com/derekchen/p/5582896.html