Bei einer nicht abgefangenen Ausnahme druckt Python standardmäßig einen Stack-Trace, die Ausnahme selbst, und wird beendet. Kennt jemand eine Möglichkeit, dieses Verhalten auf Programmebene anzupassen (abgesehen von der Einrichtung eines eigenen globalen Catch-All-Exception-Handlers), sodass der Stack-Trace weggelassen wird? Ich möchte in meiner App umschalten, ob der Stack-Trace gedruckt wird oder nicht.Konfigurieren der Standardausnahmebehandlung von Python
15
A
Antwort
22
Sie suchen sys.excepthook:
sys.excepthook (Typ, Wert, Traceback)
Diese Funktion druckt eine gegebene Zurückverfolgungs und Ausnahme, um sys.stderr.
Wenn eine Ausnahme ausgelöst und nicht abgefangen wird, ruft der Interpreter sys.excepthook mit drei Argumenten auf, der Ausnahmeklasse, der Ausnahmeinstanz und einem Traceback-Objekt. In einer interaktiven Sitzung geschieht dies unmittelbar bevor die Steuerung an die Eingabeaufforderung zurückgegeben wird. In einem Python-Programm geschieht dies kurz bevor das Programm beendet wird. Die Behandlung solcher Ausnahmen auf oberster Ebene kann angepasst werden, indem sys.excepthook eine andere Funktion mit drei Argumenten zugewiesen wird.
Verwandte Themen
- 1. Metaclass konfigurieren. Python-Versionskonflikt
- 2. Konfigurieren von Python-Projekt in Eclipse
- 3. Konfigurieren der Bildgröße von UIImagePickerController
- 4. Konfigurieren von interaktivem Python, um Leerzeilen innerhalb von Methoden zuzulassen
- 5. Konfigurieren der tmux-Bildlaufgeschwindigkeit
- 6. Installieren/Konfigurieren von Gdbm Python-Modul für cvs2svn?
- 7. Python-Version pro Projekt in SonarQube konfigurieren
- 8. Konfigurieren von WCF Formularauthentifizierung
- 9. Konfigurieren von SMS Meitrack
- 10. Konfigurieren von NSFetchedResultsController
- 11. Konfigurieren von Maven-Repositories?
- 12. Globales Konfigurieren von Winkeldirektiven
- 13. Konfigurieren von Angular.JS ($ interpolateProvider)
- 14. Konfigurieren von Modeshape AuthenticationProvider
- 15. Konfigurieren der Überwachung in wso2
- 16. Konfigurieren der WCF-Sicherheit (wsHttpBinding)
- 17. Konfigurieren von Hibernate.cfg.xml
- 18. Konfigurieren von E-Tags
- 19. Konfigurieren von Cassandra logback.xml
- 20. NGINX Konfigurieren von Https
- 21. Konfigurieren von gdb zum Ändern der Anzeige von Objekten
- 22. Konfigurieren der Transportsicherheit für WCF
- 23. Konfigurieren der Datenquelle - Struts 1.3.8
- 24. Fehler beim Konfigurieren der Aktionsverarbeitungspipeline
- 25. Konfigurieren von ASP.NET-Identitätswechsel Authentifizierung
- 26. konfigurieren und konfigurieren Laravel Auth
- 27. Konfigurieren der Reihenfolge der JmsListener-Ausführung
- 28. Konfigurieren von ADOJobStore mit Quartz.net
- 29. Konfigurieren von Profilen mit StructureMap
- 30. Konfigurieren von Eclipse für MinGW
Was ist los mit einem globalen Catch-All-Handler? –
@ S.Lott Nichts falsch, ich wollte es nur wissen. – ThomasH