【问题标题】:Make Python error messages more verbose/detailed/specific - Is it possible?使 Python 错误消息更详细/详细/具体 - 有可能吗?
【发布时间】:2013-02-20 00:07:09
【问题描述】:

在不同服务器上设置测试环境后,我在多个 API 调用中遇到错误。 99% 肯定是 MySQL 的问题,但返回的错误根本没有帮助:

global name 'sys' is not defined"

我已经导入了sys(它在我原来的实时版本上运行良好),并且还尝试在新服务器上将sys 添加到我的requirements.txt,但显然没有 pip/easy_install 包它。

长话短说,有什么方法可以让该错误消息返回更多信息,以便我希望对其进行调试?谢谢:)

【问题讨论】:

  • 这是完整的回溯吗?
  • 由于某种原因我找不到完整的回溯。返回此错误的 API 调用是 AJAX 请求,响应只是该错误消息(正如我们的 API 编写的那样正确)。
  • 首先,sys 是 stdlib 的一部分,而且它的特殊之处在于它在很大程度上只是一个已经内置的一堆代码的命名空间,所以我不希望找到一个 pip 包对于它......如果你没有它,那么你的导入路径有问题(你可以用sys.path检查,除了......是的......)。
  • 是否可以将输出(包括完整的回溯)放到服务器日志中,而不是依赖于通过网络返回的内容?通常这只是更改您的 webserver/wsgi 包装器/其他任何东西上的配置标志的问题,但是在不了解您的服务器的任何情况下,很难提出任何具体的建议。

标签: python error-handling


【解决方案1】:

感谢所有回复的人,但我的错误已解决。原来是 MySQL 服务器设置中的一些奇怪的权限问题。

我仍然很好奇 Python 错误是否可以变得更详细,但我猜答案不是。

【讨论】:

  • 回溯与基础 Python 一样冗长。如果您只有错误消息,那么您就是有缺陷的。
  • 我听到了。事实证明,因为异常是由代码处理的,所以它没有返回回溯。
猜你喜欢
  • 1970-01-01
  • 2010-09-29
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 2016-08-07
  • 2011-11-21
相关资源
最近更新 更多