Wie mache ich Django Signalhandler nicht stumm, wenn eine Ausnahme im Handler auftritt?Wie mache ich Django-Signal-Handler nicht stumm, wenn eine Ausnahme im Signal-Handler auftritt?
Gibt es ein Ort, wo all diese Fehler protokolliert werden, während Entwicklungsserver mit?
Warum versagen Django-Signalhandler trotzdem leise? Ist es nicht gegen eine der Linien in Zen von Python?
Zen of Python eindeutig fest ...
Fehler nie still passieren sollte.
Es macht sie zu einem Albtraum zu debuggen. Alles, was Sie sehen können, ist, dass das Signal nicht ausgelöst wird ...
Ich habe this Frage gefunden, aber die Antwort ist nutzlos für mich, da es sehr spezifisch für die Frage ist (Antwort schlägt vor, Pyflakes zu verwenden, verwende ich bereits pydev was tut zufriedenstellende statische Analyse)
Wenn Fehler innerhalb Ihrer Callback-Funktion im Hintergrund versagen, warum testen Sie nicht Ihre Callback-Funktion? Alle Callback-Parameter können leicht verspottet werden, um sicherzustellen, dass Ihre Callback-Funktion fehlerfrei ist. – dm03514
Können Sie einen Testfall erstellen, um dies zu reproduzieren? Ich fand, dass ich Tracebacks vom Entwicklungsserver mit dem folgenden erhielt: http://pastie.org/private/tqd11vmhxvwgpxu65kixg – monk
@ dm03514 Unittests würde der Weg sein zu gehen ... aber ich würde bevorzugen, wenn Signalhandler erhalten würde, Ausnahmen zu werfen , so dass, selbst wenn ein fehleranfälliger Fall während des Schreibens von Unit Tests ignoriert wird, es leicht erkannt wird ... – Optimus