异常处理
异常处理
try:
<语句> #运行的代码
except <异常类>:
<语句> # 捕获某种类型的异常
except <异常类> as <变量名>:
<语句> # 捕获某周类型的异常并获得其对象
else:
<语句> # 如果没有发异常发生
finally:
<语句> # 退出try时总会执行
try工作原理
- 如果try中语句中执行时发生异常,搜索except子句,并执行第一个匹配该异常的except子句
- 如果try中语句执行时发生异常,却内有匹配的except子句,异常将被递交给外层的try,如果外层不处理这个异常,异常将继续向外曾传递。如果都不处理这个异常,则会传递到最外层,如果还内有处理,就终止异常所在的线程。
- 如果在try执行时没有发生异常,将执行else子句中的语句。
- 无论try中是否发生异常,finally子句最终都会执行。