Python Glossary English

все Python 3tracebackфункция

traceback.format_exception_only()

трассировка в строку

Только последняя часть трассировки — «Тип: сообщение» — без кадров стека; для короткого сообщения пользователю.

Синтаксис

lines = traceback.format_exception_only(exc, /, *, show_group=False)

Возвращает список строк, обычно из одной, но у SyntaxError строк несколько (файл, текст и «^» под местом ошибки), а с Python 3.11 добавляются заметки из add_note(). Отличие от str(e): str даёт только сообщение без типа, а у KeyError — ключ в кавычках, что выглядит странно; эта функция добавляет имя типа. Форма с одним аргументом (exc) — с 3.10, раньше передавали тип и значение.

Примеры

# Python 3.11+
import traceback
e = ValueError('пустой ввод')
e.add_note('введите число')
print(traceback.format_exception_only(e))
# → ['ValueError: пустой ввод\n', 'введите число\n']
import traceback
e = KeyError('id')
print(str(e))  # → 'id'
print(traceback.format_exception_only(type(e), e))  # → ["KeyError: 'id'\n"]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности