Что выведет: `try: raise ValueError; except Exception as e: print("E"); finally: print("F")`?
Pythonmediummiddle
Варианты ответа
E\nF — finally выполняется всегда после try/except. Конкретный exception (ValueError) пойман через Exception потому что тот базовый класс. Это стандартное поведение exception hierarchy
F\nE — finally выполняется первым согласно Python execution order. Затем except обрабатывает исключение. Это особенность реализации CPython начиная с версии 3.10 для оптимизации
E — finally игнорируется потому что except поймал исключение. finally вызывается только когда в try был return или raise НЕ пойманное исключение поднимается выше по стеку
ValueError raised — except не поймает потому что используется голый raise. Нужно импортировать ValueError из exceptions модуля и явно указать в except. finally тут не сработает
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.