все Python 3tracebackфункция
traceback.print_tb()
печать трассировки
Печатает только кадры трассировки — без заголовка и без строки с типом исключения — из объекта e.__traceback__.
Синтаксис
traceback.print_tb(tb, limit=None, file=None)
Принимает трассировку, а не исключение. В отличие от print_exception, не будет ни «Traceback (most recent call last):», ни «ValueError: …» — только File/line. Положительный limit оставляет первые N кадров от места перехвата, отрицательный (с 3.5) — последние N у места ошибки, обычно самые интересные.
Примеры
import io, traceback
def a():
b()
def b():
raise KeyError('id')
try:
a()
except KeyError as e:
buf = io.StringIO()
traceback.print_tb(e.__traceback__, limit=-1, file=buf)
print(buf.getvalue().splitlines()[1].strip()) # → raise KeyError('id')
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности