…
def main_loop(): try: test() a = 1 / 0 except BaseException as error: file = open('test_log_file.txt', 'w') file.write(str(error)) file.close()
В итоге строка a = 1 / 0 вызовет ошибку и в файл “test_log_file.txt” запишется “division by zero”.
Я использую исключение BaseException вместо ZeroDivisionError, чтобы обработать все
виды ошибок, которые гипотетически могут возникнуть в функции test.
Вопрос: как записать в файл полное сообщение об ошибке вместе со стеком вызовов?
Наподобие этого:
File "C:\Users\Admin\Desktop\test_module.py", line 9, in <module> main_loop() File "C:\Users\Admin\Desktop\test_module.py", line 7, in main_loop a = 1 / 0 ZeroDivisionError: division by zero