try:
#有可能发生异常的代码
except 错误类型1 as e:
#异常处理
except 错误类型2 as e2:
#异常处理
…
finally:
#语句块,无论是否发生错误都会执行此语句块
执行过程:先执行try下面的语句块,若发生异常则执行except下面的语句块,若没有发生异常,
则不执行except下的语句块,最后无论是否有异常都会执行finally下面的语句。
当使用异常处理的时候,except不但能够捕捉当前的错误类型,它还可以将其子类一网打尽。
使用try/except不必非要在出现异常进行捕捉,在合适的时机捕捉即可。
记录错误:
使用logging模块
logging.exception(e)
功能:可以打印错误的堆栈信息。
import logging
def func(a,b):
return a/b
def mian(a,b):
return func(a,b)
a = 10
b = 0
# print(mian(a,b))
try:
res = mian(a,b)
print(res)
except BaseException as e:
# print(e)
print(logging.exception(e))
finally:
print("over")
print("hahahhaa")