在 python 的exceptions 模块中包含了内置的异常, 执行任意模块之前, 总是是会自动加载该模块.

所有的异常都被定义为类.

异常基类

下列异常是作为其他异常的基类.

  1. BaseException
    所有异常的根类, 所有内置异常都继承自该类.

  2. Exception 所有与程序有关的异常的基类, 这些异常包括除SystemExit, GeneratorExit, KeyboardInterrupt之外的所有内置异常. 应该通过继承Exception来定义自定义异常.

  3. ArithmeticError 算术异常的基类, 这些异常包括OverFlowError, ZeroDivisionError, FloatingPointError

  4. LookupError 索引或键错误的基类, 包括IndexError, KeyError

  5. EnvironmentError 在 pythyon 外部发生错误的基类, 包括IOError, OSError

上面的这些异常基类都不会被显示的触发, 但是可以用他们去捕捉某类错误.

下面的代码可以去捕捉任意的算术异常:

try:
    # 一些操作
except ArithmeticError as e:
    # 发生了数学错误

常见的内置异常类

一下异常均有程序生成.

  1. AssertionError 失败的assert语句

  2. AttributeError 失败的属性引用或赋值

  3. EOFError 文件末尾异常

  4. FloatingPointError 失败的浮点操作

  5. GeneratorExit 在生成器函数内部引发错误

  6. IOError 失败的 I/O 操作

  7. IndentationError 缩进错误. 它是SyntaxError的子类

  8. KeyError 在映射中未找到键. LookupError的子类

  9. KeyboardInterrupt 用户按下中断键(通常是 Ctr+C)时引发该错误

  10. MemoryError 可恢复的内存不足错误

  11. NameError 在全局或全局命名空间中未找到名称

  12. NotImplementedError 未实现的功能.

  13. OSError 操作系统错误

  14. ReferenceError 引用错误. 在底层对象被销毁后访问弱引用就会产生此错误

  15. RuntimeError 其他任何类别未包含的一般错误

  16. SyntaxError 语法错误

  17. UnicodeError Unicode 编码好解码错误

  18. ValueError 类型正确, 但是值不正确是发生此错误

  19. ZeroDivisionError 除零错误

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""