Python - 内置异常


以下是 Python 中可用的标准异常列表 -

先生。 异常名称和描述
1

例外

所有异常的基类

2

停止迭代

当迭代器的 next() 方法不指向任何对象时引发。

3

系统退出

由 sys.exit() 函数引发。

4

标准误差

除 StopIteration 和 SystemExit 之外的所有内置异常的基类。

5

算术错误

数值计算时发生的所有错误的基类。

6

溢出错误

当计算超出数字类型的最大限制时引发。

7

浮点错误

当浮点计算失败时引发。

8

零除误差

当所有数字类型发生除法或除以零或取模时引发。

9

断言错误

当 Assert 语句失败时引发。

10

属性错误

在属性引用或分配失败时引发。

11

EOF错误

当 raw_input() 或 input() 函数没有输入并且到达文件末尾时引发。

12

导入错误

当导入语句失败时引发。

13

键盘中断

当用户中断程序执行时引发,通常是通过按 Ctrl+C。

14

查找错误

所有查找错误的基类。

15

索引错误

当在序列中找不到索引时引发。

16

按键错误

当在字典中找不到指定的键时引发。

17 号

名称错误

当在本地或全局命名空间中找不到标识符时引发。

18

未绑定本地错误

当尝试访问函数或方法中的局部变量但尚未为其分配值时引发。

19

环境错误

Python 环境之外发生的所有异常的基类。

20

IO错误

当输入/输出操作失败时引发,例如尝试打开不存在的文件时的 print 语句或 open() 函数。

21

操作系统错误

引发与操作系统相关的错误。

22

语法错误

当 Python 语法存在错误时引发。

23

缩进错误

当未正确指定缩进时引发。

24

系统错误

当解释器发现内部问题时引发,但遇到此错误时 Python 解释器不会退出。

25

系统退出

当使用 sys.exit() 函数退出 Python 解释器时引发。如果代码中未处理,则会导致解释器退出。

26

类型错误

当尝试执行对指定数据类型无效的操作或函数时引发。

27

值错误

当数据类型的内置函数具有有效类型的参数,但参数指定的值无效时引发。

28

运行时错误

当生成的错误不属于任何类别时引发。

29

未实现错误

当需要在继承类中实现的抽象方法未实际实现时引发。

以下是标准异常的一些示例 -

索引错误

当尝试访问无效索引处的项目时会显示该信息。

numbers=[10,20,30,40]
for n in range(5):
   print (numbers[n])

它将产生以下输出-

10
20
30
40
Traceback (most recent call last):

   print (numbers[n])
IndexError: list index out of range

模块未找到错误

当无法找到模块时显示此信息。

import notamodule
Traceback (most recent call last):

   import notamodule
ModuleNotFoundError: No module named 'notamodule'

按键错误

它是由于找不到字典键而发生的。

D1={'1':"aa", '2':"bb", '3':"cc"}
print ( D1['4'])
Traceback (most recent call last):

   D1['4']
KeyError: '4'

导入错误

当指定函数不可导入时显示。

from math import cube
Traceback (most recent call last):

   from math import cube
ImportError: cannot import name 'cube'

停止迭代

当迭代器流耗尽后调用 next() 函数时,会出现此错误。

.it=iter([1,2,3])
next(it)
next(it)
next(it)
next(it)
Traceback (most recent call last):

   next(it)
StopIteration

类型错误

当运算符或函数应用于不适当类型的对象时,就会出现这种情况。

print ('2'+2)
Traceback (most recent call last):

   '2'+2
TypeError: must be str, not int

值错误

当函数的参数类型不合适时显示。

print (int('xyz'))
Traceback (most recent call last):

   int('xyz')
ValueError: invalid literal for int() with base 10: 'xyz'

名称错误

当无法找到对象时会遇到这种情况。

print (age)
Traceback (most recent call last):

   age
NameError: name 'age' is not defined

零除法错误

当除法中的第二个运算符为零时显示。

x=100/0
Traceback (most recent call last):

   x=100/0
ZeroDivisionError: division by zero

键盘中断

当用户在程序执行期间正常按下中断键 Control-C 时。

name=input('enter your name')
enter your name^c
Traceback (most recent call last):

   name=input('enter your name')
KeyboardInterrupt