我正在调试我的python脚本并遇到traceback
对象,它出现在结果的第二个索引处,由sys.exc_info()
函数返回。但是,我尝试了解与traceback
对象相关的信息,但无处不在我在标准python库中链接到traceback module
。然后,我尝试在traceback对象上执行dir()
,这给了我一个属性列表。在该列表中,以下属性看起来很有趣: -
1. tb_frame,
2. tb_lasti,
3. tb_lineno,
4. tb_next
我知道tb_frame和tb_lineno,但其他属性表示什么?
为糟糕的英语道歉。提前谢谢。
答案 0 :(得分:1)
由@vaultah指定的docpage中指定,
这些都是特殊的只读属性。 1. tb_next是堆栈跟踪中的下一级(朝向发生异常的帧),如果没有下一级,则为None; 2. tb_frame指向当前级别的执行帧; 3. tb_lineno给出发生异常的行号; 4. tb_lasti表示准确的指令。
注意: - 如果异常发生在没有匹配的except子句或finally子句的try语句中,则回溯中的行号和最后一条指令可能与其帧对象的行号不同。