常用内置异常
KeyError
NameError
ValueError
SyntaxError
TypeError
IndexError
…
使用
##指明具体的异常
try:
##正常运行代码
except ValueError :
##异常后运行代码
##也可以不指定具体异常,使用Exception所有异常的基类
try:
##正常运行代码
except Exception:
##异常后运行代码
##使用finally,执行清理工作无论是否有异常
try:
##正常运行代码
except Exception:
##异常后运行代码
finally:
##总要执行的代码,通常用来关闭文件,数据库的连接等
##raise抛出异常
raise ValueError('值错误')
正常流程
try:
print('抛出异常')
except KeyError:
print('捕捉到异常')
finally:
print('清理工作')
print('继续执行')
显示
捕捉到异常
try:
print('抛出异常')
raise KeyError
except KeyError:
print('捕捉到异常')
finally:
print('清理工作')
print('继续执行')
显示
未捕捉到异常
try:
print('抛出异常')
raise ValueError
except KeyError:
print('捕捉到异常')
finally:
print('清理工作')
print('继续执行')
显示