запуск кода, если операторы 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
но мне было интересно, есть ли более короткий путь.
3 ответов
вы хотите "else":
for i in [0, 1]:
try:
print '10 / %i: ' % i, 10 / i
except:
print 'Uh-Oh'
else:
print 'Yay!'
вы ищете else
ключевые слова:
try:
#code that might fail
except SomeException:
#error handling if code failed
else:
# do this if no exception occured
ваш блок try должен быть кодом, который вы хотите выполнить, и Ваше исключение должно убить программу. Мне нужно лучше понять ваш объект, чтобы дать лучший ответ.
в программировании OO вы хотите "сказать, не спрашивайте", поэтому сохраните всю логику, которая должна произойти в блоке try, а затем вашу обработку ошибок в блоке except.