【问题标题】:Where will Python be logging errors for me (moving from PHP)Python 将在哪里为我记录错误(从 PHP 迁移)
【发布时间】:2011-06-23 17:52:20
【问题描述】:

我是 Python 的新手(Win32 上 2.7),我想知道 Python 将它发现的任何错误推到哪里?

我是否需要打开某些东西,如果需要,我应该在哪里打开?

或者,您是否使用 shell 开发并观察错误通过它吐出?

请分享您希望早先知道的任何其他良好的 Python 调试/保存机制 - 或者如果您已从 PHP 切换,也许您可​​以告诉我 Python 的等价物是什么:

ini_set('error_reporting', 1);
display_errors();
trigger_error();
var_dump();

Try and Exceptions 看起来非常相似。

我自己可能会及时发现这些答案,但与此同时,这个问题困扰着我(不是双关语)。

非常感谢。

【问题讨论】:

  • 我不是 web 开发人员,但一般来说 Python 中的错误:Python 没有 PHP 所谓的错误,它有异常。 Python 将永远使其中之一静音,除非当然有一个 try 围绕导致它的代码与 except 子句匹配引发的异常代码在except 下不会重新提出它。当异常未处理时,执行完全停止(当然不是整个 Web 服务器,可能只是请求处理程序)。发生这种情况时,它还会默认提供回溯,尽管我希望大多数 Web 框架会改变这一点。
  • 谢谢,看来我应该停止担心,等到我采用由 delnan 和 Thomas Ks 回复判断的框架。

标签: python debugging error-handling


【解决方案1】:

Python 开发通常在 shell 中完成,您可以在任何未捕获的异常上打印完整的回溯。

如果您想将错误记录到文件中,请查看logging module。您可以直接捕获异常,也可以覆盖为未捕获错误调用的sys.excepthook 函数。如果您正在使用框架,例如Web 开发,它可能已经有了做这种事情的机制。

【讨论】:

    猜你喜欢
    • 2017-05-20
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 2011-03-05
    • 2017-06-25
    • 2015-04-22
    相关资源
    最近更新 更多