'''
异常处理结构
一.try:
...
except(Errortype) as e:
...
二.try:
...
except(Errortype) as e:
...
finally: # 无论是否异常均会执行
...
三.try:
...
except Exception: 万能异常捕获
...
四.try: # 多分支结构
...
except(Errortype1) as e:
...
except(Errortype1) as e:
...
...
五.try:
...
except(Errortype) as e:
...
else: # 没有异常时执行
...
'''
# try:
# # 1 / 0 # ZeroDivisionError
# int('a') # ValueError
# except(ZeroDivisionError) as e:
# print("%s [Error]:%s"%('ZeroDivisionError',e))
# except(ValueError) as e:
# print(e)
# def test():
# try:
# 1 / 0
# except(ZeroDivisionError) as e:
# print(e)
# return 1
# finally:
# print('finally')
# test()
# finally中的代码会在return之前执行
# import sys,time
# def test():
# try:
# 1 / 0
# except(ZeroDivisionError) as e:
# print(e)
# sys.exit(1)
# print('exit...') # 不执行
# finally:
# print('finally')
# print('will exit after 2 seconds')
# time.sleep(2)
# print(test())
# 程序退出前要执行完finally中的代码