异常
基本格式:
try:
...
...
...
except 异常类型1[as reason]:
...
print(str(reason)) #打印具体的异常类型,reason只是一个储存的变量
except (异常类型2,异常类型3):
...
except:
... #最优先异常处理,无视前面except的处理
finally:
... #最终都会被执行的部分,用于例如用户打开文件后未保存抛出异常,无论如何我们都要去保存文件
例:
try:
a=f,open('路径','w')
#raise KeyboardInterrupt #使用raise主动触发异常
a.write('我是一个测试例')
i=1+'1' #在这里抛出异常,写入的文件为关闭,可能造成丢失
a.close()
except OSError as error:
print('文件不存在')
except TypeError:
print('类型错了哟')
finally:
f.close()
总结:
1. except作为异常处理部分,可以将异常类型保存在变量值,也可以有多个except来比对 2. except优先级最高,但是无法得到具体的异常类型,即不知道怎么出错了,一般不推荐 3. finally是一个非常棒的杀手锏 4. raise OSError:主动触发OSError异常

浙公网安备 33010602011771号