概述
转载请注明出处:https://blog.csdn.net/jinixin/article/details/80383853
Python的traceback模块用于从程序运行的堆栈中提取,格式化或打印程序目前执行的上下文信息。
两个对象
初看该模块就觉得该模块的方法普遍存在两种形式,比如extract_tb(tb)与extract_stack(f),这两个方法看上去功能就是一样的,只是一个接收tb参数,一个接收f参数。那么问题来了,这两个参数分别是什么呢?
1)tb:traceback对象
调用sys.exec_info()返回值是个三元组(exc_type, exc_value, exc_traceback)。其中exec_type为异常类名,exc_value为异常类实例,个人认为也就是错误原因,exec_traceback则是跟踪记录对象,即traceback对象。该对象提供了发生异常的上下文,包含代码的执行帧,异常发生时的执行行号等信息。
2)f:frame对象
其是程序目前执行处的堆栈信息,个人认为其应该包含有traceback对象。
常用方法
1)traceback.extract_tb(tb, limit=None)
返回从traceback对象中提取到的错误列表,也就是我们平时看到的错误信息。
2)traceback.extract_stack(f=None, limit=None)
返回从当前程序堆栈中的traceback对象里提取到的错误列表,返回值和extract_tb()一致。
3)traceback.format_stack(f=None, limit=None)
该方法是format_list(extract_stack(f, limit))的缩写。
文中如有不当之处,还望包容和指出,感谢~
参考链接:
https://docs.python.org/3/library/traceback.html
最后
以上就是狂野冬天为你收集整理的Python traceback模块两个对象常用方法的全部内容,希望文章能够帮你解决Python traceback模块两个对象常用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复