Python培训分享:Python内置标准异常及其解析

  本期小编为大家带来的Python培训教程是关于“Python内置标准异常及其解析”的内容,我们都知道,在Python技术运作下,总会出现一些Python无法正常处理的程序时就会发生一个异常。异常是一个事件,此事件是在程序执行过程中发生,而且会影响程序的正常执行。编译过程中产生的不是异常,而是错误,但是我们一般将Error作为异常的一种。所以异常包括Error和Exception。 ​

Python培训分享:Python内置标准异常及其解析_第1张图片

  Python培训分享: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,开发语言,后端)