如何确定Python异常的起源

时间:2015-12-16 17:58:12

标签: python exception exception-handling

我正在调试一个像这样的块的复杂程序:

try:
  lots()
  of()
  deeply()
  nested()
  code()
except BaseException as e:
  log_error(str(e))

出现的错误消息只是Config file missing,但这对我没什么帮助。

我真的很想知道该消息是从哪里来的。 (请注意,错误字符串来自外部程序,因此无法搜索。)

如果我使用traceback我只能在之后看到堆栈跟踪,它已被回送到处理程序,这是没用的。我希望在异常的上看到回溯。

任何想法?
谢谢!

1 个答案:

答案 0 :(得分:2)

出于调试目的,您可以使用traceback模块打印堆栈跟踪

import traceback

try:
    lots()
    of()
    deeply()
    nested()
    code()
except BaseException as e:
    print traceback.format_exc()
    log_error(str(e))