2009-06-18 10 views
11

Wie protokollieren Sie alle Ausnahmen in einer pyqt4-Anwendung am besten mit der standardmäßigen Python-Protokollierungs-API?Alle Ausnahmen in einer pyqt4-App protokollieren

Ich habe versucht, exec_() in einem Versuch, außer Block, und protokolliert die Ausnahmen von diesem, aber es protokolliert nur Ausnahmen von der Initialisierung der App.

Als eine temporäre Lösung habe ich die wichtigsten Methoden in Versuch, außer Blöcke, verpackt, aber das kann nicht die einzige Möglichkeit sein, es zu tun.

Antwort

16

Sie benötigen sys.excepthook

def my_excepthook(type, value, tback): 
    # log the exception here 

    # then call the default handler 
    sys.__excepthook__(type, value, tback) 

sys.excepthook = my_excepthook 
außer Kraft zu setzen
Verwandte Themen