Выбор ответа Middle Исключения и контекстные менеджеры обновлено
Метод add_note у исключений
Вопрос
Что делает e.add_note("user_id=42") (Python 3.11+)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Добавляет строку, видимую в traceback. addnote дописывает заметки в e.notes, и стандартный вывод traceback печатает их после сообщения.
Варианты ответа
- Меняет сообщение исключения
str(e) - Создаёт новое исключение-обёртку с заметкой
- Записывает строку в модуль
loggingна уровне INFO - Добавляет строку, видимую в tracebackправильный ответ
Разбор
add_note дописывает заметки в e.__notes__, и стандартный вывод traceback печатает их после сообщения. Это способ добавить контекст, не меняя тип исключения и не оборачивая его. str(e) при этом не меняется, нового объекта не создаётся, с логированием метод не связан.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.