0

您好,我在 Windows 上运行 Python 2.5,每当我的应用程序出现异常而不是看到调试信息时,我都会在 traceback.py 文件本身中收到错误。任何人都知道此 mb 补丁或替换文件的修复程序。

Traceback (most recent call last):
  File "C:\Python25\lib\logging\__init__.py", line 744, in emit
    msg = self.format(record)
  File "C:\Python25\lib\logging\__init__.py", line 630, in format
    return fmt.format(record)
  File "C:\Python25\lib\logging\__init__.py", line 426, in format
    record.exc_text = self.formatException(record.exc_info)
  File "C:\Python25\lib\logging\__init__.py", line 398, in formatException
    traceback.print_exception(ei[0], ei[1], ei[2], None, sio)
  File "C:\Python25\lib\traceback.py", line 126, in print_exception
    lines = format_exception_only(etype, value)
  File "C:\Python25\lib\traceback.py", line 176, in format_exception_only
    stype = etype.__name__
AttributeError: 'NoneType' object has no attribute '__name__'

===编辑===

在邮件列表中发现同样的错误似乎是过时的答案

http://mail.python.org/pipermail/python-dev/2006-September/068975.html

4

1 回答 1

2

可能的原因:

  1. logging.exception()没有活动异常时调用
  2. exc_info=1当没有活动异常时,使用 调用日志记录函数。
  3. 使用日志功能调用exc_info=(None, None, None)日志功能(例如,如果手动执行异常日志记录)。

您不应该logging.exception在 except 块之外使用。

异常是由None传递给 的异常类型引起的traceback.print_exception,这意味着没有要处理的活动异常。

同时,您链接到的新闻组帖子表明,标准库中的回归导致了特定的回溯。您可能想尝试将您的 Python 升级到 2.5.1,它解决了这个特定问题。

于 2012-08-24T17:17:44.030 回答