что значит "работают вместе" ?
ну если try заработает без ошибок значит и else начнёт работать
Если в блоке try не будет выброшено исключение, будет выполнен блок else если есть и finally если есть
что именно?
что когда работает
Получается и else и finally сработают, если не будет исключении?
finally выполняется всегда, вне зависимости от того было ли в блоке try выброшено исключение else выполняется если в блоке try не было выброшено исключение except <type> выполняется когда в блоке try выброшено исключение и тип исключения соответствует или является подтипом типа, указанного в блоке except
finally сработает, если к моменту окончания цикла интерпретатор ещё жив.
Вот теперь задачка try: raise ValueError except Exception: print("Exception") except ValueError: print("ValueError") что будет выведено на экран?
тут же выбрасывается исключения? потому что там ValueError
Не отходи от темы, это псевдокод для задачки
Exception и есть ValueError, но стоит выше, поэтому.
Да, сперва проверяется except Exception, попадает ли под него ValueError? да, попадает, потому что ValueError унаследован от класса Exception, соответственно будет выполнен этот блок кода.
Только перефразируй, ValueError дочерний к Exception
всмысле унаследован?
Ну ты ООП изучал? Классы? Наследование?
да, неправильно высказался
class Animal: … class Cat(Animal): …
Обсуждают сегодня