Questo è un codice che si comporta in modo particolare. Questa è una versione semplificata del comportamento che ho scritto. Ciò dimostrerà ancora il comportamento strano e avevo alcune domande specifiche sul motivo per cui ciò si verifica.
Sto usando Python 2.6.6 su 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
Risultati:
>>> print demo1()
3
>>> print demo2()
6
3
- Perché la demo uno restituisce 3 invece di 1?
- Perché la demo due stampa 6 invece di stampare 6 con 4 o 5?