Я немного запутался, что в этом случае будет выполняться блок finally вместе с оператором print('done'
). Потому что, когда блок try будет выполнен, тогда только блок finally выполняется вместе с выводом, но когда есть какое-то исключение, тогда блок исключений будет выполняться вместе с блоком finally и
print('done')
заявление.
Также, если мы напишем оператор print в блоке try, оператор print('done')
будет выполняться все время.
Как то так,
def division(x,y):
try:
return x/y
except TypeError:
print('error type')
except ValueError:
print('value error')
finally:
print('final')
print('done')
division(23,4)
Выход: -
result 5.75
final
done
def division(x,y):
try:
return x/y
except TypeError:
print('type error')
except ValueError:
print('value error')
finally:
print('final')
print('done')
division(23,4)
division('12',3)
Выход: -
final
error type
final
done