Встречается на 1% собеседований по Python
Как происходит обработка исключения в контекстном менеджере
В контекстных менеджерах исключения обрабатываются через методы __enter__ и __exit__. При возникновении исключения внутри блока with, вызывается __exit__ с информацией об исключении (тип, значение, traceback). Если __exit__ возвращает True, исключение подавляется, иначе - пробрасывается дальше.
Пример:
python
class SuppressException:
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
if exc_type is ValueError:
print("Подавлено ValueError")
return True
return False
with SuppressException():
raise ValueError("Ошибка") # Исключение подавлено
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы