异常:
- 异常(exception):因运行时错误而出现,会产生一个traceback
- “traceback”是出现的运行时错误的一个详细描述
常见异常:(待完善)
- 数据不符合期望的格式时会出现ValueError
- 数据无法正常访问时会出现IOErroe(例如,可能你的数据文件被移走或者重命名)
- NameError ,调用的变量名称不存在
处理异常:
- try/except语句提供了一个异常处理机制,从而保护可能导致运行时错误的某些代码
- pass语句就是python的空语句或null语句,它什么也不做
如
try:
code #可能出现异常需要保护的语句(可以是多行)
except: #冒号前可以加具体的error名称,来排除具体的异常,如ValueError
pass #如果出现一个运行时错误,或执行这个语句(无论运行时发生了什么,try语句会捕获所有异常并处理,用pass忽略掉这个错误)
finally
1 try: 2 print('abc') 3 print(abc) #没有变量abc,所以此处会报NameValue 4 print('1') #上面遇到异常了,便不会执行这一行了,直接执行except后面的内容 5 except NameError: 6 pass 7 finally: 8 print('2') #无论try/except之间的代码正常运行还是出现异常都会执行finally组,不管异常是不是NameError,总之,finally组的内容总会运行。
输出:
abc
2
展示错误的内容
上面代码并不会显示真正发生了什么异常
try: print('abc') print(abc) print('1') except NameError as err: #将错误内容赋予变量str print('Error is',str(err)) #要加上str将err的类型转为字符串 finally: print('2')
输出:
abc Error is name 'abc' is not defined 2