सबसे पहले - मुझे खराब इंडेंट कोड के साथ कोई समस्या नहीं है और मुझे पता है कि यह अपवाद कैसा काम करता है।इंडेंटेशन एरर को कैसे पकड़ें
मैं पूछता हूं, अगर कोशिश/ब्लॉक को छोड़कर कोड में इंडेंटेशन एरर पकड़ने का कोई तरीका है? उदाहरण के लिए, मान लें कि मैं किसी और द्वारा लिखे गए फ़ंक्शन के लिए एक परीक्षा लिख रहा हूं। मैं इसे ब्लॉक/को छोड़कर कोशिश करना चाहता हूं और वह जो भी चेतावनी दे सकता है उसे संभाल सकता है। मुझे पता है, यह एक अच्छा उदाहरण नहीं है, लेकिन पहला मेरे दिमाग में आ रहा है। कृपया, उदाहरण पर ध्यान केंद्रित न करें, बल्कि समस्या पर। कोड पर
आइए नज़र:
try:
f()
except IndentationError:
print "Error"
print "Finished"
समारोह:
def f():
print "External function"
और परिणाम है:
External function
Finished
और है कि कुछ है, मैं समझता हूँ के लिए तैयार हूँ, बाहरी समारोह में becouse इंडेंटेशन लगातार था।
लेकिन जब इस तरह समारोह देखो:
def f():
print "External function"
print "with bad indentation"
अपवाद बिना क्रिया है:
print "with bad indentation"
^
IndentationError: unexpected indent
किसी भी तरह से इसे प्राप्त करने के वहाँ है? मुझे लगता है कि संकलन का मामला है, और अब तक मुझे पकड़ने की कोई संभावना नहीं दिख रही है। क्या except IndentationError
कोई समझ है?
ध्यान दें कि 'इंडेंटेशन एरर'' सिंटेक्स एरर 'का उप-वर्ग है। –