Поймать исключение, которое будет печататься так:
Traceback (most recent call last):
File "c:/tmp.py", line 1, in <module>
4 / 0
ZeroDivisionError: integer division or modulo by zero
Я хочу отформатировать его в:
ZeroDivisonError, tmp.py, 1
python
exception
stack-trace
traceback
Клаудиу
источник
источник
Ответы:
источник
sys.exc_info()
был введен для решения проблем безопасности потоков в предыдущем API. Его вывод зависит как от текущего потока, так и от текущего кадра стека.Самая простая форма, которая работала для меня.
Вывод
источник
Источник (Py v2.7.3) для traceback.format_exception () и вызванных / связанных функций очень помогает. Смущающе, я всегда забываю прочитать источник . Я сделал это только после тщательного поиска похожих деталей. Простой вопрос: «Как воссоздать тот же вывод, что и Python для исключения, со всеми теми же деталями?» Это получит кого-нибудь на 90 +% к тому, что они ищут. Разочарованный, я придумал этот пример. Я надеюсь, что это помогает другим. (Это точно помогло мне; ;-)
В конкретном ответе на этот запрос:
источник
'message' : exc_value.message
в'message' : str(exc_value)
течение PY3Вот пример показа номера строки, где происходит исключение.
источник