当程序出现逻辑错误,或者输入错误时,python的异常处理机制会抛出相关的异常情况。例如分母为零的异常,请见下面代码
zeroDivisionError就是一种情况,python中有很多异常情形,如下所示:
异常处理:
python中对于异常的处理,提供了相应的异常捕获机制,只要有两种结构:
(1)
try:
检测范围(语句)
except: Exception(异常说明) [as reason]
出现异常后的处理代码
具体的工作原理:
当检测范围内的代码出现异常,就会立即停止执行后面的代码,跳到except中去执行相应的处理代码
例子:
这里值得注意的时一个try可以对应多个except
例子:
(2)
try:
检测范围(语句)
except: Exception(异常说明) [as reason]
出现异常后的处理代码
finally:
无论如何都会执行的语句
具体的工作原理:
当检测范围内的代码出现异常,就会立即停止执行后面的代码,跳到except中去执行相应的处理代码,最后执行fially中的语句:
例如:
注:如图所示,当打开一个文件,执行写操作,在写入过程中出现异常,这是由于没有执行关闭文件操作,程序就会报错
(3)raise语句
raise语句用于认为产生一个异常。例子: