Wie kann der vollständige Traceback gedruckt werden, ohne das Programm anzuhalten?

Ich schreibe ein Programm, das 10 Websites analysiert, Datendateien findet, die Dateien speichert und sie dann analysiert, um Daten zu erstellen, die in der NumPy-Bibliothek verwendet werden können. Es gibt Tonnen von Fehlern, auf die diese Datei durch fehlerhafte Links, schlecht geformtes XML, fehlende Einträge und andere Dinge stößt, die ich noch nicht kategorisiert habe. Ich habe dieses Programm ursprünglich erstellt, um Fehler wie diese zu behandeln:

try:
    do_stuff()
except:
    pass

Aber jetzt möchte ich Fehler protokollieren:

try:
    do_stuff()
except Exception, err:
    print Exception, err

Hinweis: Dies wird in eine Protokolldatei zur späteren Überprüfung gedruckt. Dies druckt normalerweise sehr nutzlose Daten. Ich möchte, dass genau die gleichen Zeilen gedruckt werden, die beim Auslösen des Fehlers ausgegeben werden, ohne dass die Ausnahme durch try-except abgefangen wird. Ich möchte jedoch nicht, dass mein Programm angehalten wird, da es in einer Reihe von for-Schleifen verschachtelt ist, die ich verwenden möchte zur Vervollständigung sehen.

Antworten auf die Frage(20)

Ihre Antwort auf die Frage