Python 异常处理
value = 8 / 0
print(value)
1. try
可能会出现异常的代码。
不管以后会抛出多少个异常,只会从上往下检测,检测到一个以后,就会立即往下匹配不会多次检测。
2. except
要捕捉的异常类别 as(python3-使用,/as)接收异常的形参,对于这个异常进行处理。
try:
value = 8 / 0
print('value')
except:
print('error')
这里可以有多个except,用于捕获可能的其他异常(ZeroDivisionError,NameErrot等)
try:
value = 8 / b
print(value)
except ZeroDivisionError:
print('ZeroDivisionError')
except NameError:
print('NameError')
3. else
没有出现异常时做出的处理。
通常放在except结束后,也可以省略
try:
value = 8 / 4
print(value)
except:
print('error')
else:
print('no error')
4. finally
不管有没有出现异常,都会执行的代码。
必须放在最后,也可以省略
try:
value = 8 / 4
print(value)
except:
print('error')
else:
print('no error')
finally:
print('-'*100)
5. traceback
记录异常信息的包,用于保存异常信息,方便写入文档。
使用taceback中的format_exc方法
import traceback
try:
value = 8 / b
print(value)
except:
info = traceback.format_exc()
print(info)