Код Middle Исключения и контекстные менеджеры обновлено
Свой suppress
Условие
Реализуйте класс-контекстный менеджер Suppress(*exc_types), который подавляет указанные исключения (и их подклассы) и запоминает подавленное в атрибуте error (иначе None). Проверка run(kind, types) бросает исключение по имени kind ("KeyError", "ValueError", "LookupError" или None = без ошибки) внутри with Suppress(...) и возвращает ["suppressed", имя], ["ok", None] или ["raised", имя].
Примеры
run("KeyError", ["KeyError"]) // ["suppressed", "KeyError"]
run("ValueError", ["KeyError"]) // ["raised", "ValueError"]
run(null, ["KeyError"]) // ["ok", null]
Как подойти
Подсказки: 2
issubclassпринимает кортеж типов.- При нормальном выходе
exc_typeравенNone.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.