Which keyword is used to handle exceptions in Python?
Python Built-in Exceptions और Error Messages
Python में कोडिंग करते समय टर्मिनल में लाल रंग का लंबा-चौड़ा एरर मैसेज देखकर अक्सर शुरुआती डेवलपर्स डर जाते हैं। लेकिन सच यह है कि Python के एरर मैसेजेस आपके सबसे अच्छे गाइड होते हैं! अगर आप टर्मिनल के मैसेज (Traceback) को सही तरीके से पढ़ना सीख लें, तो कोड को डीबग करना चुटकियों का काम बन जाता है। इस ट्यूटोरियल में हम Python के सबसे कॉमन Built-in Exceptions को व्यावहारिक उदाहरणों से समझेंगे।
अगर आपने अभी तक पिछले बेसिक्स नहीं पढ़े हैं, तो पहले Python Continue & Loops या Python Classes & Objects का अध्ययन करें। इन सभी कोड स्निपेट्स को खुद रन करने के लिए हमारा Online Python Editor & Compiler इस्तेमाल करें।
Built-in Exceptions क्या हैं?
Built-in Exceptions वे प्री-डिफ़ाइंड (पहले से बने हुए) एरर ऑब्जेक्ट्स हैं जिन्हें Python खुद प्रदान करता है। जब भी कोड में कोई अनपेक्षित लॉजिक या गलत ऑपरेशन होता है, तो Python उस खास स्थिति के हिसाब से एक विशिष्ट Exception ट्रिगर (raise) कर देता है।
सरल भाषा में — Built-in Exceptions का मतलब है: "Python का इन-बिल्ट अलार्म सिस्टम, जो बताता है कि गलती क्या हुई है, किस फाइल में हुई है और किस लाइन नंबर पर हुई है।"
Terminal में Error Message (Traceback) कैसे पढ़ें?
जब भी कोई एरर आता है, तो Python एक Traceback प्रिंट करता है। इसे हमेशा नीचे से ऊपर (Bottom-to-Top) पढ़ना चाहिए:
इसे समझने के 3 मुख्य हिस्से:
- सबसे निचली लाइन: एरर का नाम और कारण (
ZeroDivisionError: division by zero)। - लाइन नंबर: एरर किस फाइल और किस लाइन पर आया (
line 4)। - कोड स्निपेट: वह कोड जो फेल हुआ (
print(10 / 0))।
Python के मुख्य Built-in Exceptions (Real VS Code Examples)
आइए रोज़मर्रा की कोडिंग में आने वाले 12 सबसे महत्वपूर्ण Exceptions को विस्तार से देखें:
1. SyntaxError (व्याकरण की गलती)
यह तब आता है जब आप Python के सिंटेक्स नियमों का उल्लंघन करते हैं (जैसे कोलन : भूल जाना या ब्रैकेट खुला छोड़ना)।
2. IndentationError (स्पेसिंग की गलती)
Python में कोड ब्लॉक्स स्पेस (Indentation) से तय होते हैं। गलत या असंगत स्पेस देने पर यह एरर आता है।
3. NameError (अपरिभाषित नाम)
जब आप किसी ऐसे वेरिएबल या फंक्शन का इस्तेमाल करते हैं जिसे पहले डिफाइन नहीं किया गया या जिसकी स्पेलिंग गलत है।
4. TypeError (गलत डेटा टाइप)
जब आप किसी ऐसे ऑपरेशन को करने की कोशिश करते हैं जो उस डेटा टाइप के लिए मान्य नहीं है (जैसे स्ट्रिंग और नंबर को जोड़ना)।
5. ValueError (गलत वैल्यू)
डेटा टाइप तो सही होता है लेकिन उसकी वैल्यू अनुचित होती है (जैसे टेक्स्ट को नंबर में बदलने की कोशिश करना)।
6. ZeroDivisionError (शून्य से भाग)
गणित के नियमानुसार किसी भी संख्या को शून्य (0) से विभाजित नहीं किया जा सकता।
7. IndexError (लिस्ट इंडेक्स सीमा से बाहर)
जब आप किसी लिस्ट या टपल में ऐसी इंडेक्स पोजीशन एक्सेस करने की कोशिश करते हैं जो मौजूद ही नहीं है।
8. KeyError (डिक्शनरी में की न मिलना)
जब आप किसी डिक्शनरी से ऐसी 'key' ढूंढने की कोशिश करते हैं जो उसमें मौजूद नहीं है।
9. AttributeError (ऑब्जेक्ट में मेथड या प्रॉपर्टी न होना)
जब आप किसी डेटा टाइप पर ऐसा मेथड कॉल करते हैं जो उसके पास है ही नहीं (जैसे लिस्ट पर स्ट्रिंग का .upper() लगाना)।
10. FileNotFoundError (फाइल न मिलना)
जब कोड किसी ऐसी फाइल को ओपन या रीड करने की कोशिश करता है जो दिए गए पाथ (path) पर मौजूद नहीं है।
11. ModuleNotFoundError (लाइब्रेरी या मॉड्यूल न होना)
जब आप किसी ऐसे मॉड्यूल को import करते हैं जो इंस्टॉल नहीं है या जिसका नाम गलत टाइप हो गया है।
12. ImportError (इंपोर्ट फेल होना)
मॉड्यूल तो मौजूद है, लेकिन उसके अंदर जो फंक्शन या क्लास आप ढूंढ रहे हैं वह मौजूद नहीं है।
Common Exceptions के बीच मुख्य अंतर
| तुलना | पहला Exception | दूसरा Exception |
|---|---|---|
| TypeError vs ValueError | "10" + 5 (गलत डेटा टाइप) | int("hello") (टाइप सही है पर वैल्यू गलत है) |
| IndexError vs KeyError | list[4] (सीक्वेंस में इंडेक्स गायब) | dict["key"] (डिक्शनरी में की गायब) |
| ModuleNotFound vs ImportError | पूरी फाइल/पैकेज ही नहीं मिला | पैकेज मिला पर अंदर का फंक्शन नहीं मिला |
| SyntaxError vs Exceptions | रन होने से पहले ही कंपाइलर रोकता है | प्रोग्राम रन होने के दौरान आता है |
Built-in Exceptions पहचानने और सुलझाने का सही तरीका
1. एरर का प्रकार देखें: क्या यह टाइप से जुड़ा है (
TypeError) या वैल्यू से (ValueError)?2. लाइन नंबर पर जाएं: कोड की उस लाइन पर
print() लगाकर वेरिएबल के टाइप (type(var)) को चेक करें।3. सुरक्षित हैंडलिंग: जहाँ भी यूजर इनपुट या एक्सटर्नल रिसोर्स हो, वहाँ
try-except का उपयोग करें।
Output:
Common Beginner Mistakes
शुरुआती छात्र टर्मिनल के पूरे लाल टेक्स्ट को देखकर घबरा जाते हैं। हमेशा सिर्फ आखिरी लाइन पढ़ें, 90% समस्या वहीं स्पष्ट लिखी होती है।
Exercise ?
यदि कोड में int("python") लिखा जाए, तो कौन-सा Exception आएगा?
Beginner Practical Coding Challenge
अब अपने Online Python Editor में इस कोड स्निपेट्स के एरर पहचानकर उन्हें फिक्स करें:
- नीचे दिए गए गलत कोड को देखें और बताएं कि कौन-सा एरर आएगा:
data = [10, 20, 30] print(data[3])
- एक ऐसा कोड लिखें जो
student_info = {"name": "Aman"}सेroll_noफेच करे औरKeyErrorआने पर उसेtry-exceptसे हैंडल करके "Roll number not found" प्रिंट करे। - एक फंक्शन
calculate_avg(marks)बनाएं जो लिस्ट खाली होने परZeroDivisionErrorको रोककर0रिटर्न करे।
Quick Revision
| Exception | कब आता है? | त्वरित समाधान (Quick Fix) |
|---|---|---|
SyntaxError | गलत सिंटेक्स, मिसिंग कोलन | कोड का स्ट्रक्चर और ब्रैकेट चेक करें |
IndentationError | गलत स्पेसिंग | 4 स्पेस या Tab कंसिस्टेंट रखें |
NameError | वेरिएबल डिफाइन नहीं किया | स्पेलिंग और वेरिएबल डिक्लेरेशन चेक करें |
TypeError | गलत डेटा टाइप पर ऑपरेशन | डेटा टाइप कन्वर्ट करें (जैसे str(num)) |
ValueError | टाइप सही है पर डेटा अमान्य है | इनपुट वैल्यू की जांच करें |
IndexError | लिस्ट में इंडेक्स मौजूद नहीं | लिस्ट की len() चेक करें |
KeyError | डिक्शनरी में की गायब है | dict.get() का उपयोग करें |
AttributeError | ऑब्जेक्ट में वह मेथड नहीं है | डेटा टाइप के मान्य मेथड्स चेक करें |
FAQ
टर्मिनल में Traceback का क्या मतलब होता है?
Traceback उन कॉल्स की एक रिपोर्ट है जो प्रोग्राम क्रैश होने के समय सक्रिय थीं। यह आपको ठीक उसी फाइल और लाइन नंबर तक ले जाता है जहाँ समस्या शुरू हुई।
TypeError और ValueError में क्या अंतर है?
TypeError तब आता है जब डेटा टाइप ही गलत हो (उदा. "5" + 5), जबकि ValueError तब आता है जब डेटा टाइप सही हो लेकिन उसके अंदर की वैल्यू कन्वर्ट न हो सके (उदा. int("abc"))।
क्या SyntaxError को try-except से पकड़ा जा सकता है?
नहीं, क्योंकि SyntaxError प्रोग्राम के रन होने से पहले (Parsing के समय) ही कोड को रोक देता है। इसे हाथ से कोड सुधारकर ही ठीक किया जा सकता है।
AttributeError कब आता है?
जब आप किसी ऑब्जेक्ट पर ऐसा मेथड या वेरिएबल इस्तेमाल करने की कोशिश करते हैं जो उस डेटा टाइप में बना ही नहीं है (जैसे किसी पूर्णांक संख्या पर .append() लगाना)।
Summary
Error Messages = दुश्मन नहीं, बल्कि सबसे अच्छे गाइड हैं जो बताते हैं कि क्या, कहाँ और क्यों गलत हुआ।
इस ट्यूटोरियल में आपने सीखा कि Python के मुख्य Built-in Exceptions क्या हैं, Terminal में Traceback कैसे पढ़ा जाता है, TypeError, ValueError, KeyError, IndexError जैसे मुख्य एरर्स कब आते हैं और उन्हें डीबग कैसे किया जाता है।
ऊपर दिया गया कोडिंग चैलेंज अपने ऑनलाइन एडिटर में तुरंत रन करें और प्रैक्टिस पूरी करें।
Related Articles
Python code likho, run karo aur practice karo — directly browser mein.

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें