Python–第十一天
学习目标:异常处理
在程序运行过程中,总会遇到各种各样的错误,Python内置了一套异常处理机制,来帮助我们进行错误处理。
标准异常总结:
- try-expect-finally语句:
高级语言通常都内置了一套try…except…finally…的错误处理机制:
try:
<检测范围>
expect expection[as reason]:
<出现异常后的处理代码>
finally:
<无论如何都会被执行的代码>
例如:
try:
print('try...')
r = 10 / 0
print('result:', r)
except ZeroDivisionError as e:
print('except:', e)
finally:
print('finally...')
print('END')
上面的代码在计算10 / 0时会产生一个除法运算错误:
try...
except: division by zero
finally...
END
从输出可以看到,当错误发生时,后续语句print(‘result:’, r)不会被执行,except由于捕获到ZeroDivisionError,因此被执行。最后,finally语句被执行。然后,程序继续按照流程往下走。
如果把除数0改成2,则执行结果如下:
try...
result: 5
finally...
END
由于没有错误发生,所以except语句块不会被执行,但是finally如果有,则一定会被执行。
!注:
- 可以没有finally语句!
- 可以包含多个expect子句,分别来处理不同的特定的异常。但,最多只有一个分支会被执行。
- 一个expect子句可同时处理多个异常,这些异常将被放在一个括号里成为一个元组。