Python traceback,python traceback print

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: