学习笔记-Python基础11-异常

一、异常

  广义上的错误分为错误和异常

  错误指的是可以认为避免

  异常指的是在语法、逻辑正确的前提下,出现的问题

  在python里,异常是一个类,可以处理和使用

  所有的异常都是从一个总异常,也就是他们的父类Exception继承下来的

  异常的常见分类:

    1、FloatingPointError  浮点计算错误

    2、IndexError  索引超出序列的范围

    3、KeyError  字典中查找一个不存在的关键字

    4、KeyboardInterrupt  用户输入中断键(Ctrl+c)

    5、NameError  尝试访问一个不存在的变量

    6、SyntaxError  Python的语法错误

    7、TypeError  不同类型间的无效操作

    8、ValueError  传入无效的参数

    9、ZeroDivisionError  除数为零

    10、AttributerError  尝试访问未知的对象属性

    

  异常处理:

    不能保证程序永远正确运行,但是必须保证程序在最坏的情况下得到的问题被妥善处理

    python的异常处理模块全部语法:

      1、try:

          尝试实现某个操作

          如果没有出现异常,任务可以完成

          如果出现异常,将异常从当前代码块人出去尝试解决异常

        except  异常类型1:

          解决方案1:用于尝试在此处处理预计会得到的一种异常,从而解决问题

        except  (异常类型2、3...)

          解决方案:针对多个异常使用相同的处理方式

        except: 

          解决方案:所有异常的解决方案

        else:

          如果没有出现任何异常,将会执行此处代码

        finally:

          不管有没有异常,都要执行此处代码

        上面语句的流程:

          1、先执行try下的语句

          2、如果出现异常,则在except语句里查找对应异常并进行处理

          3、如果没有出现异常,则执行else语句内容

          4、最后,不管是否出现异常,都要执行finally语句

          特别注意:除except(最少一个)以外,else和finally都是可选的

        

        

      2、用户手动引发的异常

          当某些情况,用户希望自己引发一个异常的时候,可以使用

          raise  关键字来引发异常

          特别注意:只要是raise异常,则推荐自定义异常,在自定义异常的时候,一般包含以下内容:

             1、自定义发生异常的异常代码

             2、自定义发生异常的问题提示

             3、自定义发生异常的行数

             最终目的是:一旦发生异常,方便程序猿快速定位错位现场

          

原文地址:https://www.cnblogs.com/Cloudloong/p/9717754.html