Ini adalah beberapa kode yang berperilaku aneh. Ini adalah versi sederhana dari perilaku yang saya tulis. Ini masih akan menunjukkan perilaku aneh dan saya memiliki beberapa pertanyaan khusus tentang mengapa ini terjadi.
Saya menggunakan Python 2.6.6 di 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
Hasil:
>>> print demo1()
3
>>> print demo2()
6
3
- Mengapa demo satu menghasilkan 3, bukan 1?
- Mengapa demo dua pencetakan 6 alih-alih mencetak 6 w / 4 atau 5?