一。嵌套异常的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. 捕获的太少:

         异常设计及相关技巧

          异常设计及相关技巧

 

     

相关文章:

  • 2021-10-25
  • 2021-07-14
  • 2022-01-22
  • 2021-12-02
  • 2021-12-12
  • 2022-02-19
  • 2021-08-18
猜你喜欢
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2021-08-26
相关资源
相似解决方案