Đây là một số mã đang hoạt động kỳ lạ. Đây là phiên bản đơn giản hóa của hành vi mà tôi đã viết. Điều này vẫn sẽ chứng tỏ hành vi kỳ lạ và tôi đã có một số câu hỏi cụ thể về lý do tại sao điều này lại xảy ra.
Tôi đang sử dụng Python 2.6.6 trên 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
Các kết quả:
>>> print demo1()
3
>>> print demo2()
6
3
- Tại sao bản demo một trả về 3 thay vì 1?
- Tại sao bản demo hai in 6 thay vì in 6 w / 4 hoặc 5?