【问题标题】:Traceback headers: "most recent call last" vs "innermost last"回溯标头:“最近一次调用最后一次”与“最内层最后一次”
【发布时间】:2012-06-19 10:32:23
【问题描述】:

谁能解释运行时错误何时会生成带有标头most recent call last 的回溯以及何时会生成标头innermost last

【问题讨论】:

  • 一个快速的 google 表明后者被旧版本的 CPython 使用(参见,例如,Python 1.5.2 docs),并且可能被 Jython 使用。但是——这些不是同一个意思吗?似乎很可能只是为了在沿线某处进行清晰的解释而对其进行了更改。
  • 我认为这是正确的。我可以通过innermost last 找到的大多数回溯帖子确实是几年前的事了。我自己并没有立即弄清楚,因为我看到一些最近发布的课程包含innermost last。但他们可能只是从这些课程的旧版本中复制了一些代码。您能留下答案条目,以便我将其标记为解决方案吗?

标签: python exception runtime-error traceback


【解决方案1】:

这两个术语是同义词,因此解释器没有明显的理由可以交替使用这两个术语。至少,似乎 CPython 过去总是使用“最里面的最后一个”,而现在总是使用“最近的调用最后一个” - 例如,Python 2.0 Tutorial 使用“最里面的”,但这在同一个更改为“最近的”来自Python 2.1 Tutorial 的示例。我找不到任何说明更改的原因(Python 2.1 Release Notes 中没有提到),但开发人员似乎只是认为新的措辞更清晰。

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多