में अपवाद पहले से मौजूद होने पर अपवाद उठा रहा है मेरे दूसरे अपवाद (A
) का क्या होता है जब दूसरा (B
) निम्न कोड में उठाया जाता है?पाइथन 3
class A(Exception): pass
class B(Exception): pass
try:
try:
raise A('first')
finally:
raise B('second')
except X as c:
print(c)
X = A
साथ चलाते हैं मैं:
Traceback (most recent call last): File "raising_more_exceptions.py", line 6, in raise A('first') __main__.A: first During handling of the above exception, another exception occurred: Traceback (most recent call last): File "raising_more_exceptions.py", line 8, in raise B('second') __main__.B: second
लेकिन अगर X = B
मैं:
second
प्रश्न
- कहाँ मेरा पहला अपवाद चली गई?
- केवल बाहरी अपवाद को पकड़ने योग्य क्यों है?
- मैं बाहरी अपवाद को कैसे छील सकता हूं और पहले के अपवादों का पुन: उपयोग कैसे करूं?
Update0
यह सवाल विशेष रूप से, पते, अजगर 3 के रूप में अपनी अपवाद हैंडलिंग पायथन 2.
उत्तर इस तथ्य की उपेक्षा कर रहे हैं कि अपवाद पकड़ा जाने पर मुझे अभी भी पूर्ण ट्रेसबैक मिल रहा है। कृपया समझाएँ? –