Python में त्रुटियाँ और अपवाद: विस्तृत एवं गहन मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Python में त्रुटियाँ और अपवाद: विस्तृत एवं गहन मार्गदर्शिका

प्रोग्रामिंग की दुनिया में, त्रुटियाँ आपकी दुश्मन नहीं, बल्कि आपके सबसे ईमानदार साथी हैं। वे आपको भ्रमित करने की कोशिश नहीं करतीं; वे सीधे तौर पर कोड की कमज़ोरियों को इंगित करती हैं और प्रोग्राम को अधिक विश्वसनीय और स्थिर बनाने में मदद करती हैं। Python में त्रुटि प्रबंधन की एक शक्तिशाली और लचीली प्रणाली है, जो 'अपवादों' (Exceptions) की अवधारणा पर आधारित है। यह समझना कि अपवाद कैसे काम करते हैं, वे कितने प्रकार के होते हैं, और उन्हें सही तरीके से कैसे संभाला जाए, यह सिर्फ एक कौशल नहीं, बल्कि किसी भी Python डेवलपर के लिए एक नए स्तर की महारत हासिल करने का मार्ग है।

यह लेख Python में त्रुटियों और अपवादों की दुनिया के लिए आपकी संपूर्ण मार्गदर्शिका है। हम बुनियादी बातों से लेकर उन्नत तकनीकों तक का सफर तय करेंगे, जो आपको वास्तव में दोष-सहिष्णु (fault-tolerant) कोड लिखने में सक्षम बनाएंगी।

Python में त्रुटि क्या है? समस्या के दो पहलू

सबसे पहले, दो मुख्य प्रकार की त्रुटियों के बीच अंतर करना महत्वपूर्ण है। कल्पना करें कि आप किसी विदेशी भाषा में बात करने की कोशिश कर रहे हैं:

  1. सिंटैक्स त्रुटियाँ (Syntax Errors): यह ऐसा है जैसे आप व्याकरण की गंभीर गलतियों के साथ एक वाक्य बना रहे हों। आपका श्रोता (Python इंटरप्रेटर) आपको समझ ही नहीं पाएगा और आपके विचार को पूरा करने से पहले ही बातचीत को रोक देगा। ऐसी त्रुटियों वाला कोड चलना भी शुरू नहीं होगा।
  2. अपवाद (Exceptions): आपने व्याकरण की दृष्टि से सही वाक्य बनाया, लेकिन वर्तमान संदर्भ में इसका अर्थ एक बेतुकी स्थिति पैदा करता है। उदाहरण के लिए, आपने एक ऐसी मेज पर "नमक देने" के लिए कहा, जहाँ नमक ही नहीं है। श्रोता ने वाक्य समझ लिया, लेकिन उसे पूरा नहीं कर सका। Python के साथ भी ऐसा ही है: कोड सिंटैक्स की दृष्टि से सही है, लेकिन चलने के दौरान कोई अप्रत्याशित स्थिति उत्पन्न होती है (जैसे शून्य से भाग देना, किसी गैर-मौजूद फ़ाइल को एक्सेस करना)। यदि ऐसी स्थिति का पूर्वानुमान न लगाया जाए और उसे संभाला न जाए, तो प्रोग्राम अचानक बंद हो जाएगा।

सिंटैक्स त्रुटियाँ: कोड के व्याकरण के संरक्षक

यह सबसे आसानी से सुधारे जाने वाला त्रुटि प्रकार है, क्योंकि Python इंटरप्रेटर आमतौर पर समस्या वाली जगह को सटीक रूप से इंगित करता है, जैसे कोई शिक्षक श्रुतलेख में गलती को रेखांकित करता है।

SyntaxError

यह त्रुटि क्या है?

सबसे आम सिंटैक्स त्रुटि। इसका मतलब है कि आपने भाषा के नियमों का उल्लंघन किया है: कोलन भूल गए, ब्रैकेट बंद नहीं किया, गलत ऑपरेटर का उपयोग किया, इत्यादि।

त्रुटि उत्पन्न करने वाला कोड उदाहरण

# उदाहरण 1: शर्त के बाद कोलन भूल गए
 ifx = 10if x > 5    
print("x 5 से बड़ा है")
Traceback:File "main.py", line 2if x > 5^SyntaxError: expected ':'
उदाहरण 2: ब्रैकेट बंद नहीं किया
print("नमस्ते, दुनिया
"Traceback:File "main.py", line 1print("नमस्ते, दुनिया"^SyntaxError: '(' was never closed

कैसे सुधारें?

त्रुटि संदेश को ध्यान से पढ़ें। इंटरप्रेटर आमतौर पर उस स्थान के नीचे एक कैरेट (^) लगाता है जहाँ उसे समस्या मिली है। Python के सिंटैक्स के अनुसार कोड को सही करें।

# सही किया गया कोड
x = 10if x > 5:    
    print("x 5 से बड़ा है")
print("नमस्ते, दुनिया")

IndentationError / TabError

यह त्रुटि क्या है?

Python के लिए अनोखी त्रुटि, जो इंडेंटेशन (खाली स्थान) से संबंधित है। Python कोड के ब्लॉक को परिभाषित करने के लिए इंडेंटेशन का उपयोग करता है। IndentationError तब होता है जब इंडेंटेशन का गलत उपयोग किया जाता है, और TabError तब होता है जब टैब और स्पेस को मिलाया जाता है।

त्रुटि उत्पन्न करने वाला कोड उदाहरण

def my_function():
print("यह फंक्शन का बॉडी है")  # गलत इंडेंटेशन
Traceback:File "main.py", line 2print("यह फंक्शन का बॉडी है")^IndentationError: expected an indented block

कैसे सुधारें?

इंडेंटेशन की एकरूपता बनाए रखें। PEP 8 मानक प्रत्येक नेस्टिंग स्तर के लिए 4 स्पेस का उपयोग करने की सलाह देता है। अपने कोड एडिटर को इस तरह सेट करें कि वह स्वचालित रूप से टैब को 4 स्पेस में बदल दे - यह आपको कई समस्याओं से बचाएगा।

# सही किया गया कोड
def my_function():
    print("यह फंक्शन का बॉडी है") # सही इंडेंटेशन: 4 स्पेस

ब्लॉग

पुस्तक अनुशंसाएँ