在python中也有捕获异常的机制。在try块中执行代码,当出现错误时跳转到except块,然后到finally块。
只需要在合理的层次捕捉异常。
可以多个except块捕捉多种异常,但注意异常之间的子类关系,若在第一个except中捕捉了某父类的异常,第二个except则不能捕捉其子类的异常(已经在第一个except中被一起捕获)
try: #执行该块,当出现异常则跳转到except,无异常则结束try后跳转到finally
print('try...')
r = 10/2
print('result is ',r)
except ZeroDivisionError as e :#捕捉异常,执行后跳转到finally
print('ZeroDivisionError:',e)
except valueError as e: #多个except捕捉不同的异常
print('valueErroe:',e)
finally: #finally块一定会执行
print('finally...')
print('end')