Подтвердить что ты не робот

Запускать код, если попытки try были успешными в python

Мне было интересно, был ли в python простой способ запускать код, если утверждение try было успешным, чего не было в самом заявлении try. Это то, что делают команды else или finally (я не понял их документацию)? Я знаю, что мог бы использовать такой код:

successful = False
try:
    #code that might fail
    successful = True
except:
    #error handling if code failed
if successful:
    #code to run if try was successful that isn't part of try

но мне было интересно, был ли более короткий путь.

4b9b3361

Ответ 1

Вы хотите "else":

for i in [0, 1]:
    try:
        print '10 / %i: ' % i, 10 / i
    except:
        print 'Uh-Oh'
    else:
        print 'Yay!'

Ответ 2

Вы ищете ключевое слово else:

try:
    #code that might fail
except SomeException:
    #error handling if code failed
else:
    # do this if no exception occured

Ответ 3

Ваш блок try должен быть кодом, который вы хотите выполнить, и ваш исключение должно быть убито программой. Мне нужно лучше понять ваш объект, чтобы дать лучший ответ.

В программировании OO вы хотите "Скажите, не спрашивайте", поэтому храните всю логику, которая должна произойти в блоке try, а затем ваша обработка ошибок в исключающем блоке.