else
и finally
разделы избыточной обработки исключений? Например, есть ли какое-либо различие между следующими двумя фрагментами кода?
try:
foo = open("foo.txt")
except IOError:
print("error")
else:
print(foo.read())
finally:
print("finished")
и
try:
foo = open("foo.txt")
print(foo.read())
except IOError:
print("error")
print("finished")
В более общем плане не могут содержание else
всегда перемещайтесь в try
, и не могут содержание finally
просто будьте перемещены вне блока попытки/выгоды? Если так, из чего цель else
и finally
? Это должно только улучшить удобочитаемость?