Эта функция должна ловить исключения в основном выполнении. Если есть исключение, он должен распечатать ошибку с 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.
Какое исключение вы ожидаете зайти в журнал с помощью traceback.print_exc() '? он будет записывать все исключения, кроме 'KeyboardInterrupt' – ettanany
Да. Он должен обрабатывать все исключения, которые я не обнаружил внутри 'exec_app()'. – Rotareti