在Python中,全部的出现异常类全是Exception的派生类。Exception类界定在exceptions控制模块中,该控制模块在Python的内建类名中,大家无须导进就可以一直应用。
每一次程序执行碰到不正确的情况下,程序流程便会引起出现异常。假如这一出现异常目标沒有开展解决和捕获,程序流程便会用说白了的回朔(traceback,-种错误报告)停止实行,这种资料包含问题的名字(如NameError).缘故和不正确造成的号码。
下边来例举一些较为常用的出现异常。
1.NameError
试着浏览一个未声明的自变量,会引起NameErroro比如:
print(test)
错误报告如下所示:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjects出现异常.py", line 8, in <;module>;
print(test)
NameError: name 'test' is not defined
以上信息内容说明,编译器在一切类名里边也没有寻找test。
2.ZeroDivisionError
当除数为零的情况下,会引起ZeoDioenorr出现异常。比如:
1/0
错误报告如下所示:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjectsChapter09出现异常.py", line 8, in <;module>;
print(1/0)
ZeroDivisionError: division by zero
实际上,一切标值被零除都是会致使以上出现异常。
3.SyntaxError
当编译器发觉拼写错误时,会引起SyntaxError出现异常。比如:
demo_list = ["a","b","c"]
for i in demo_list
print(i)
在以上实例中,因为for循环的后边缺乏灶具,因此造成 程序流程发生如下所示错误报告:
File "C:UsersitcastPycharmProjectsChapter09出现异常.py ", line 9
for i in demo_list
SyntaxError: invalid syntax
SyntaxError出现异常是**没有运作时造成的出现异常, 它意味着着Python编码中有一个有误的构造,促使程序流程不能实行。这种不正确一般是在编译程序时产生 ,编译器没法把脚本制作变换为字节数编码。
4.IndexError
当应用编码序列中不会有的数据库索引时,会引起IndexErr出现异常。比如:
demo_list = []
demo_list[0]
以上实例中,demo_list目录中没有没有一切原素,应用数据库索引0浏览目录**位原素时,发生如下所示错误报告:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjectsChapter09出现异常.py ", line 9, in <;module>;
demo_list[0]
IndexError: list index out of range
以上信息内容表层,目录的数据库索引值超过了目录的范畴。
5.KeyError
当应用词典中不会有的键浏览值时,会引起KeyError 出现异常。比如:
dictionary = {'host':'earth', 'port':80}
dictionary['server']
以上实例中,dictionary词典中仅有host和port2个键,获得server键代表的值时,发生如下所示错误报告:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjectsChapter09出现异常.py ", line 9, in <;module>;
dictionary['server']
KeyError: 'server'
以上信息内容说明,发生了词典中都没有的键server。
6.FileNotFoundError
尝试开启不会有的资料时,会引起FileNotFoundError(Python 3.2之前是IOError)出现异常。
比如:
file = open("test")
以上实例中,应用open方式 开启名叫test的文档或文件目录,发生如下所示错误报告:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjectsChapter09出现异常.py ", line 8, in <;module>;
file = open("test")
FileNotFoundError: [Errno 2] No such file or directory: 'test'
以上信息内容说明,沒有寻找名字为test的文档还是文件目录。
7.AttributeError
当试着浏览不明的文本特性时,会引起AttributeError出现异常。比如:
class Car(object):
pass
car = Car()
car.color = '灰黑色'
print(car.color)
print(car.name)
以上实例中,Car 类沒有界定一切特性和方式 ,在建立Car类的案例之后,动态性地给car引入的案例加上了color特性,随后浏览它的color和name特性时,发生如下所示错误报告:
Traceback (most recent call last):
File "C:UsersitcastPycharmProjectsChapter09出现异常.py ", line 15, in <;module>;
print(car.name)
AttributeError: 'Car' object has no attribute 'name'
以上信息内容说明,在Car的案例中表述了color特性,因此能够应用car.color的方式浏览;可是沒有界定name特性,因此浏览name特性时便会错误。
免责协议:內容来自公布互联网,若涉及到侵权行为联络尽早删掉!