Итак, я знаю, что вы можете использовать блоки try/except
для управления выводом ошибок, например:
try:
print("ok")
print(str.translate)
print(str.foo)
except AttributeError:
print("oops, found an error")
print("done")
..., что дает следующий вывод:
ok
<method 'translate' of 'str' objects>
oops, found an error
done
Теперь, есть ли способ сделать следующее с циклом while
, например, while not AttributeError
, например:
while not AttributeError:
print("ok")
print(str.translate)
print(str.foo)
print("done")
, который будет выдавать тот же результат, что и выше, только без oops, found an error
?Это уменьшит потребность в блоках типа except: pass
, которые необходимы, но немного бессмысленны, если вам нечего делать в блоке except
.
Я пробовал while not AttributeError
и while not AttributeError()
, которые обапросто пропустите что-нибудь в блоке while
.Итак, есть ли способ сделать это в Python?
Редактировать: Это действительно не цикл как таковой, но блок while будет работать, ипродолжить, если обнаружится ошибка, и просто продолжить, если достигнет конца.