को छोड़कर होता है मेरे पास पाइथन except
खंड में कुछ कोड है जो कुछ लॉगिंग करने का इरादा है, लेकिन लॉगिंग कोड स्वयं अपवाद का कारण बन सकता है। मेरे मामले में, मैं किसी भी दूसरे अपवाद को अनदेखा करना चाहता हूं जो हो सकता है, और मूल अपवाद बढ़ा सकता है। यहाँ एक बहुत ही सरल बनाया उदाहरण है:एक पायथन अपवाद को संभालने के लिए जो कि
try:
a = this_variable_doesnt_exist
except:
try:
1/0
except:
pass
raise
ऊपर कोड चल रहा है, मैं प्राप्त करने के लिए आशा है कि:
NameError: name 'this_variable_doesnt_exist' is not defined
लेकिन इसके बजाय, पायथन 2.x में, मैं मिलता है:
ZeroDivisionError: integer division or modulo by zero
मैंने पाया है कि पायथन 3.x में, यह वही करता है जो मैं चाहता हूं।
मुझे पाइथन 2.x दस्तावेज़ों में इस पर अधिक टिप्पणी नहीं मिली (जब तक कि मैं इसे याद नहीं करता)। क्या मैं इसे 2.x में प्राप्त कर सकता हूं?
किसी को माध्यमिक अपवाद को स्पष्ट रूप से कैसे संभालना चाहिए? कृपया इसे अपने उत्तर –