この関数は、メイン実行時に例外を捕捉することになっています。例外がある場合は、log.error(traceback.print_exc())
でエラーを出力し、exit_main()
でクリーンアップする必要があります。例外がある場合Python traceback.print_exc()は 'None'を返します
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()
残念ながらlog.error(traceback.print_exc())
のみNone
を返すん。この場合、完全なエラーレポートをトレースバックに出力するにはどうすればよいですか?
PS:私はpython 3.4を使用しています。その__doc__
から
'traceback.print_exc()'で記録される予定の例外はどれですか? 'KeyboardInterrupt'以外のすべての例外を記録する – ettanany
はい。 'exec_app()'の中で捕捉していないすべての例外を処理する必要があります。 – Rotareti