Python 内建异常

Python 内建异常

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

序号 异常名称和描述
1 Exception 所有异常的基类
2 StopIteration 当迭代器的next()方法指向空对象时引发
3 SystemExit 由sys.exit()函数引发
4 StandardError 除StopIteration和SystemExit外的所有内置异常的基类
5 ArithmeticError 所有数学计算错误的基类异常
6 OverflowError 当计算超过数值类型的最大限制时引发
7 FloatingPointError 当浮点计算失败时引发。
8 ZeroDivisonError 当所有数值类型发生零除或取模运算时引发。
9 AssertionError 在Assert语句失败时引发。
10 AttributeError 在属性引用或赋值失败时引发。
11 EOFError 当没有从raw_input()或input()函数获得输入且达到文件末尾时引发。
12 ImportError 在导入语句失败时引发。
13 KeyboardInterrupt 当用户中断程序执行时引发,通常是通过按下Ctrl+C。
14 LookupError 用于所有查找错误的基类。
15 IndexError 在序列中找不到索引时引发。
16 KeyError 在字典中找不到指定的键时引发。
17 NameError 在本地或全局命名空间中找不到标识符时引发。
18 UnboundLocalError 在函数或方法中尝试访问一个局部变量但未给其赋值时引发。
19 EnvironmentError 所有在Python环境之外发生的异常的基类。
20 IOError 当输入/输出操作失败时引发,例如打印语句或open()函数尝试打开不存在的文件时。
21 OSError 发生操作系统相关错误时引发的异常。
22 SyntaxError 在Python语法出错时引发的异常。
23 IndentationError 缩进格式不正确时引发的异常。
24 SystemError 解释器发现内部问题时引发的异常,但遇到此错误时Python解释器不会退出。
25 SystemExit 使用sys.exit()函数退出Python解释器时引发的异常。如果代码中未处理,将导致解释器退出。
26 TypeError 尝试对指定的数据类型进行无效操作或函数时引发的异常。
27 ValueError 当数据类型的内置函数具有有效类型的参数,但参数指定的值无效时引发。
28 RuntimeError 当生成的错误不属于任何类别时引发。
29 NotImplementedError 当需要在继承类中实际实现的抽象方法未被实现时引发。

下面是一些标准异常的示例:

索引错误

在尝试访问无效索引处的项目时显示。

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'

ImportError(导入错误)

当指定的函数无法导入时显示该错误。

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

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

StopIteration

当迭代器流耗尽后调用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

ZeroDivisionError

当除法中的第二个操作数为零时显示此错误。

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

   x=100/0
ZeroDivisionError: division by zero

KeyboardInterrupt

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

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

   name=input('enter your name')
KeyboardInterrupt

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程