1、基本格式
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()
2、总结
- except作为异常处理部分,可以将异常类型保存在变量值,也可以有多个except来比对
- except优先级最高,但是无法得到具体的异常类型,即不知道怎么出错了,一般不推荐
- finally是一个非常棒的杀手锏
- raise OSError:主动触发OSError异常
2392

被折叠的 条评论
为什么被折叠?



