python2.6
मुझे लगता है पर, आप अंत में "कोशिश" ब्लॉक जहां अपवाद 'बी' को बढ़ाने के साथ संबद्ध किया जा सके ब्लॉक उम्मीद कर रहे हैं। आखिरकार ब्लॉक पहले "कोशिश" ब्लॉक से जुड़ा हुआ है।
आप भीतरी कोशिश ब्लॉक में ब्लॉक को छोड़कर एक अतिरिक्त है, तो अंत में ब्लॉक अपवाद बी बढ़ा देंगे
try:
raise Exception("a")
except:
try:
raise Exception("b")
except:
pass
finally:
raise
आउटपुट:
Traceback (most recent call last):
File "test.py", line 5, in <module>
raise Exception("b")
Exception: b
एक और भिन्नता है कि यहाँ क्या हो रहा
क्या बताते हैं
try:
raise Exception("a")
except:
try:
raise Exception("b")
except:
raise
आउटपुट:
Traceback (most recent call last):
File "test.py", line 7, in <module>
raise Exception("b")
Exception: b
आप यहाँ देख रहे हैं, तो अंत में साथ छोड़कर अपवाद बी
अजगर 3.1 दोनों को जन्म देती है उठाना पड़ता ब्लॉक की जगह। – kennytm
आह। मुझे उल्लेख करना चाहिए था कि मैं पायथन 2.6 पर हूं। – wilhelmtell
जिज्ञासा से बाहर: एक ही संयोजन पर सी # कंपाइलर कहता है "त्रुटि: निकटतम संलग्न क्लॉज क्लॉज के अंदर घोंसला वाले अंत में एक तर्क के साथ एक फेंक स्टेटमेंट की अनुमति नहीं है" (फेंक == raise, पकड़ == को छोड़कर)। कोई अस्पष्टता नहीं! – Andrey