Я задавался вопросом, был ли в Python простой способ выполнить код, если оператор попытки был успешен, который не был в самом операторе попытки. Это то, чем еще или наконец управляет, делают (я не понял их документацию)? Я знаю, что мог использовать код как это:
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
но я задавался вопросом, был ли более короткий путь.
Вы хотите "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 должен быть кодом, который вы хотите выполнить, а ваш except должен убивать программу. Мне нужно лучше понять ваш объект, чтобы дать лучший ответ.
В объектно-ориентированном программировании вы хотите «Говорить, а не спрашивать», поэтому сохраните всю логику, которая должна произойти, в блоке try, а затем вашу обработку ошибок в блоке except.