Це якийсь код, який поводиться своєрідно. Це спрощена версія поведінки, яку я написав. Це все одно продемонструє дивну поведінку, і я мав кілька конкретних запитань щодо того, чому це відбувається.
Я використовую Python 2.6.6 у Windows 7.
def demo1():
try:
raise RuntimeError,"To Force Issue"
except:
return 1
else:
return 2
finally:
return 3
def demo2():
try:
try:
raise RuntimeError,"To Force Issue"
except:
return 1
else:
return 2
finally:
return 3
except:
print 4
else:
print 5
finally:
print 6
Результати:
>>> print demo1()
3
>>> print demo2()
6
3
- Чому демо-версія повертає 3 замість 1?
- Чому демонстраційно два друкуються 6, а не 6 з / 4 або 5?