이것은 특이하게 작동하는 코드입니다. 이것은 내가 작성한 동작의 단순화 된 버전입니다. 이것은 여전히 이상한 행동을 보여줄 것이며 왜 이것이 발생하는지에 대한 몇 가지 구체적인 질문이있었습니다.
Windows 7에서 Python 2.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가 6을 4 또는 5로 인쇄하는 대신 6으로 인쇄하는 이유는 무엇입니까?