Как получить подробное исключение?

Вы можете использовать Reflection API

2
задан fahadh4ilyas 18 January 2019 в 10:12
поделиться

1 ответ

Существует несколько способов печати информации о трассировке.

Как уже упоминалось в комментариях, вы можете использовать функцию traceback модуля print_exc [115]

try:
    1 / 0
except Exception:
    traceback.print_exc()

Traceback (most recent call last):
  File "exes.py", line 10, in <module>
    1 / 0
ZeroDivisionError: division by zero

Если вы используете модуль регистрации, то Функция logging.exception автоматически регистрирует трассировку как часть сообщения журнала уровня ERROR.

try:
    2 / 0 
except Exception:
    logging.exception('Something went wrong')

ERROR:root:Something went wrong
Traceback (most recent call last):
  File "exes.py", line 15, in <module>
    2 / 0
ZeroDivisionError: division by zero

Если вы предпочитаете регистрировать трассировку на другом уровне журнала, вы можете передать exc_info=True в функцию журналирования, чтобы зарегистрировать трассировку.

try:
    3 / 0 
except Exception:
    logging.warning('Something went wrong.', exc_info=True)

WARNING:root:Something went wrong.
Traceback (most recent call last):
  File "exes.py", line 20, in <module>
    3 / 0
ZeroDivisionError: division by zero
0
ответ дан snakecharmerb 18 January 2019 в 10:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: