В Python оператор try поддерживает предложение else, которое выполняется, если код в блоке try не вызывает исключение. Например:
try:
f = open('foo', 'r')
except IOError as e:
error_log.write('Unable to open foo : %s\n' % e)
else:
data = f.read()
f.close()
Почему требуется условие else? Не можем ли мы написать приведенный выше код следующим образом:
try:
f = open('foo', 'r')
data = f.read()
f.close()
except IOError as e:
error_log.write('Unable to open foo : %s\n' % e)
Не будет ли выполнение выполняться до data = f.read()
, если open не вызывает исключение?