博学谷 > 资讯 > Python > 收藏-Python内置标准异常及其解析

原创 收藏-Python内置标准异常及其解析

发布时间:2020-06-08 16:36:33 浏览 455 来源:博学谷 作者:Python咖

      一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是一个事件,此事件是在程序执行过程中发生,而且会影响程序的正常执行。编译过程中产生的不是异常,而是错误,但是我们一般将Error作为异常的一种。所以异常包括Error和Exception。

     

    收藏-Python内置标准异常及其解析


      下面就是Python内置标准异常以及对应的文字描述。
      0.BaseException 所有异常的基类。
      1.SystemExit 解释器请求退出。
      2.KeyboardInterrupt 用户终端执行(通常是输入)。
      3.GeneratorExit 生成器发生异常来通知退出。
      4.StandardError 所有内建标准异常的基类。
      5.Exception 常规错误的基类
        1)StopIteration 迭代器没有更多的值
        2)ArithmeticError 所有数值计算错误的基类
          ①FloatingPointError 浮点计算错误
          ②OverflowError数值运算超出最大限制
          ③ZeroDivisionError 除(或取模)零(所有数据类型)
        3)AssertionError 断言语句失败
        4)AttributeError 对象没有这个属性
        5)BufferError 缓存错误
        6)EOFError 没有内建输入,到达EOF标记
        7)EnvironmentError 操作系统错误的基类
        8)IOError 输入/输出操作失败
        9)LookupError 无效数据查询的基类
          ①IndexError 序列中没有此索引
          ②KeyError 映射中没有这个键
        10)MemoryError 内存溢出错误(对于Python解释器不是致命的)
        11)NameError 未声明/初始化对象(没有属性)
          ①UnboundLocalError 访问未初始化的本地变量
        12)OSError 操作系统错误
        13)WindowsError 系统调用失败
        14)ReferenceError 弱引用试图访问已经垃圾回收了的对象
        15)RuntimeError 一般的运行时错误
          ①NotImplementedErrro 尚未实现的方法
        16)SyntaxError 语法错误
          ①IndentationError 缩进错误
            a.TabError 空格和Tab混用
        17)SystemError 一般的解释器系统错误
        18)TypeError 对类型无效的操作
        19)ValueError 传入无效的参数
          ①UnicodeError Unicode相关的错误
            a.UnicodeDecodeError 解码时错误
            b.UnicodeEncodeError编码时错误
            c.UnicodeTranslaterror 转换时错误
        20)Warning
          ①DeprecationgWarning 关于被弃用的特征的警告
          ②PendingDeprecationgWarning 关于特性将会被废弃的警告
          ③RuntimeWarning 可疑的运行时行为
          ④SyntaxWaring 可疑的语法警告
          ⑤UserWarning 用户代码生成的警告
          ⑥FutureWaring 关于构造将来语义会有改变的警告
      
      异常处理:
      捕捉异常可以使用try/except语句。try的工作原理是,当开始的一个try语句后,Python就在当前程序的上下文中做标记,这样当异常出现时就可以回到这里,try子句先执行。如果当try后的语句执行时发生异常,Python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。如果try语句中发生异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。如果try子句执行时没有发生异常,Python将执行else语句后的语句,然后控制流通过整个try语句。
      此外如果使用try-finally语句无论是否发生异常都将执行最后finally后相应的代码。
      除去这些常见的标准异常类型,用户还可以自定义异常类型。通过创建一个新的异常类,程序可以命名他们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

领取成功
领取失败
上一篇:Python运算符总结 下一篇:Python开发的前景和优势分析

相关推荐 更多

最新文章

扫描二维码,回复"Python"获取100G资料包