2012-08-24 49 views
0

你好,我在Windows上運行Python 2.5,每當我的應用程序得到一個異常,而不是看到調試信息時,我得到了traceback.py文件本身的錯誤。任何人都知道修補程序或替換文件。Windows Python 2.5 Traceback.py Nonetype錯誤

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

+0

也許你可以舉出一個演示這個錯誤的例子代碼? – g19fanatic

+0

這是很難做到的,因爲我沒有得到這個堆棧跟蹤。我假設這是python的traceback.py而不是我的代碼的問題,因爲上面的所有內容都與python25 \ lib \ – BillPull

+0

有關,如果您無法區分哪個部分會給出錯誤(這可以簡單地通過評論你的代碼的部分,直到再次發生,然後重新創建這個小功能),我們無法真正幫助你。我可能會說它有更多的東西與你的代碼做什麼有關,而不是蟒蛇。你可以很容易地做的東西,將使pythons失效內置的異常處理... – g19fanatic

回答

2

可能的原因:

  1. 調用logging.exception()時沒有活躍的例外
  2. 當沒有活動異常時,調用exc_info=1的日誌記錄功能。
  3. 用日誌功能exc_info=(None, None, None)調用日誌功能(例如,如果手動執行異常日誌記錄)。

你不應該使用除了塊以外的logging.exception

異常是由傳送到traceback.print_exceptionNone異常類型引起的,這意味着沒有活動異常需要處理。

與此同時,發佈鏈接到的新聞組表明它是標準庫中的迴歸,導致了特定的回溯。你可能想嘗試將你的Python升級到2.5.1,這解決了這個特定的問題。

+0

謝謝。是的,我是這個項目的全新產品,因此在異常中沒有文件引用基本上不可能找到根本原因 – BillPull

+0

您也可以考慮將Python升級到2.5.1,因爲它們放入了可以防止此特定異常的補丁。 – nneonneo