异常处理
语法:
try:
#有可能发生语句块
except 错误类型1 as e:
#异常处理
except 错误类型2 as e2:
#异常处理2
......
finally:
#无论代码是否出现异常都会执行此语句块
执行过程:
先执行try下面的语句块,当语句出现异常的时候,会去excpt语句中进行错误匹配,
若匹配上则执行该except下面的语句,若匹配不上的则报错。
无论代码是否出现异常,都会执行finally下面的语句。
在使用异常的捕捉的时候需要注意,它不但可以捕捉该类型的错误,
还可以将其子类一网打尽。
错误调用栈
若错误没有捕获,则会一直向上抛,直到抛给python解释器,python解释器
打印错误的堆栈信息然后退出。
出错的时候,要分析错误的调用栈的信息,这样才能定位错误
因此查找错误的时候
第一:先看错误类型
第二:从下往上找[必须是你自己写的模块]
例:记录错误
import logging
import time
def func1(a,b):
return a/b
def func2(a,b):
return func1(a,b)
def main(a,b):
return func2(a,b)
if __name__ == '__mai