Diese Funktion soll Ausnahmen in der Hauptausführung abfangen. Wenn eine Ausnahme vorliegt, sollte der Fehler mit log.error(traceback.print_exc())
ausgedruckt und mit exit_main()
bereinigt werden.Python traceback.print_exc() gibt 'None' zurück.
def main():
try:
exec_app()
except KeyboardInterrupt:
log.error('Error: Backup aborted by user.')
exit_main()
except Exception:
log.error('Error: An Exception was thrown.')
log.error("-" * 60)
log.error(traceback.print_exc())
log.error("-" * 60)
exit_main()
Leider log.error(traceback.print_exc())
zurückkehrt nur None
wenn es eine Ausnahme ist. Wie kann ich den vollständigen Fehlerbericht in diesem Fall rückverfolgen?
PS: Ich benutze Python 3.4.
Welche Art von Ausnahme erwarten Sie mit 'traceback.print_exc()' angemeldet sein? Es protokolliert alle Ausnahmen außer 'KeyboardInterrupt' – ettanany
Ja. Es sollte alle Ausnahmen behandeln, die ich nicht in 'exec_app()' gefangen habe. – Rotareti