Python traceback,python traceback print
在我们的程序报告错误后,我们应该找到一些方法来处理它们。一种想法是,我们可以使用traceback跟踪错误的地方,然后整合并返回错误的信息。这样我们就可以利用返回的信息进行错误分析,从而分析问题出在哪里。下面小编就给大家带来一个通过traceback从python中提取程序信息的详细方法。
追溯模块
角色:追溯模块用于追踪异常退货信息。
Traceback #调用回溯模块。
尝试:
ifstr(123)5:
打印(“这是一个可执行错误”)
例外例外:
Traceback.print_exc()#返回错误消息。
#控制台输出结果:
# trace back(mostrecentcalllast):
# File d :/py charm/S9/py context/main . py ,第27行,在模块中
#ifstr(123)5:
# type error : notsupportedbetweeninstances of str 和 int
"yes"; mso-font-kerning: 1.0000pt;">类似在没有try……except之前,出现异常解释器报错形式。
此报错信息也可以直接存储在文件中!
Python的traceback module提供一整套接口用于提取,格式化和打印Python程序的stack traces信息,下面我们通过例子来详细了解下这些接口:
#!/usr/bin/envpython3
importtraceback
importsys
deffunc():
raiseException("--funcexception--")
defmain():
try:
func()
exceptExceptionase:
exc_type,exc_value,exc_obj=sys.exc_info()
traceback.print_tb(exc_obj)
if__name__=="__main__":
main()
这里我们可以发现打印的异常信息更加详细了,下面我们了解下print_tb的详细信息:
traceback.print_tb(tb[,limit[,file]])
tb: 这个就是traceback object, 是我们通过sys.exc_info获取到的
limit: 这个是限制stack trace层级的,如果不设或者为None,就会打印所有层级的stack trace
file: 这个是设置打印的输出流的,可以为文件,也可以是stdout之类的file-like object。如果不设或为None,则输出到sys.stderr。
以上就是我们使用traceback在python中提取程序信息的方法了,我们先找寻异常点的错误信息,然后进行信息的跟踪,最后再进行反馈,学会了的小伙伴可以试试上面的代码。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。