これは、特殊に動作しているコードです。これは、私が書いた動作の簡略版です。これはまだ奇妙な振る舞いを示しており、なぜこれが起こっているのかについていくつかの具体的な質問がありました。
私はWindows7でPython2.6.6を使用しています。
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
- デモ1が1ではなく3を返すのはなぜですか?
- デモ2が4または5で6を印刷する代わりに6を印刷するのはなぜですか?