मैं एक उपकरण बना रहा हूं जहां अपवाद ऊपर की ओर फैलता है, अपवाद के संदर्भ के बारे में नया डेटा अपवाद में जोड़ा जाता है। मुद्दा यह है कि जब तक अपवाद शीर्ष स्तर तक पहुंच जाता है, तब तक सभी अतिरिक्त संदर्भ डेटा मौजूद होते हैं, लेकिन केवल नवीनतम स्टैक ट्रेस दिखाया जाता है। क्या अपवाद रखने का कोई आसान तरीका मूल स्टैक ट्रेस दिखाता है जिसमें इसे अंतिम स्टैक ट्रेस के बजाए फेंक दिया गया था, या क्या मुझे पहली बार मूल स्टैक ट्रेस को अपनाना है जैसे अपवाद प्रसारित करता है?पायथन अपवाद प्रचार
उदाहरण के लिए, निम्न कोड:
def a():
return UNBOUND
def b():
try:
a()
except Exception as e:
raise e
b()
पैदावार निम्नलिखित अपवाद:
Traceback (most recent call last):
File "test.py", line 8, in <module>
b()
File "test.py", line 7, in b
raise e
NameError: global name 'UNBOUND' is not defined
जहां, आदर्श, मैं चाहता हूँ किसी भी तरह उपयोगकर्ता को दिखाने के लिए इस:
Traceback (most recent call last):
File "test.py", line 8, in <module>
File "test.py", line 2, in a
return UNBOUND
NameError: global name 'UNBOUND' is not defined
चूंकि उपयोगकर्ता उस रेखा को इंगित करता है जिस पर मूल रूप से त्रुटि हुई थी।