【问题标题】:Traceback objects in pythonpython中的回溯对象
【发布时间】:2016-12-24 08:22:24
【问题描述】:

我在调试我的 python 脚本时遇到了traceback 对象,该对象位于结果的第二个索引处,由sys.exc_info() 函数返回。然而,我试图用谷歌搜索出与traceback 对象相关的信息,但我在标准python 库中得到了指向traceback module 的链接。然后,我尝试在回溯对象上执行dir(),这给了我一个属性列表。在该列表中,以下属性看起来很有趣:-

 1. tb_frame,
 2. tb_lasti,
 3. tb_lineno,
 4. tb_next

我知道 tb_frame 和 tb_lineno,但其他属性表明什么?

为糟糕的英语道歉。提前致谢。

【问题讨论】:

标签: python exception-handling traceback


【解决方案1】:

在@vaultah 指定的文档页面中指定,

这些都是特殊的只读属性。

  1. tb_next 是堆栈跟踪中的下一级(朝向发生异常的帧),如果没有下一级,则为 None;
  2. tb_frame指向当前关卡的执行帧;
  3. tb_lineno 给出发生异常的行号;
  4. tb_lasti 表示精确指令。

注意:- 如果异常发生在没有匹配 except 子句或 finally 子句的 try 语句中,则回溯中的行号和最后一条指令可能与其框架对象的行号不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 2011-01-02
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多