Python Academy · पाठ

अपवादों को समझना

जानें कि अपवाद क्या होते हैं और Python उन्हें कैसे उत्पन्न करता है।

पाठ 1, कुल 4 में से14 चरण

अपवादों को समझना, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

परिचय

अपवाद, रनटाइम पर त्रुटियों का संकेत देने और उन्हें संभालने का Python का तरीका हैं।

अपवाद क्या है

अपवाद ऐसी घटना है जो प्रोग्राम के सामान्य प्रवाह को बाधित करती है। त्रुटि होने पर Python अपवाद उत्पन्न करता है — जैसे, शून्य से विभाजन।
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

अपवादों का पदानुक्रम

सभी अपवाद BaseException से विरासत में मिलते हैं। उपयोगकर्ता के सामने आने वाले अधिकांश अपवाद Exception से विरासत में मिलते हैं। विशिष्ट प्रकार हैं: ValueError, TypeError, KeyError आदि।
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

सामान्य अंतर्निहित अपवाद

TypeError: गलत प्रकार। ValueError: सही प्रकार, गलत मान। KeyError: dict की कुंजी अनुपस्थित। IndexError: सूची का इंडेक्स सीमा से बाहर। AttributeError: ऐसा कोई एट्रिब्यूट नहीं।
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

ट्रेसबैक

जब कोई अपवाद संभाला नहीं जाता, तो Python एक ट्रेसबैक प्रिंट करता है: नीचे से (सबसे हाल की कॉल) ऊपर तक का कॉल स्टैक। इसे पढ़ना सीखें।
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

अपवाद ऑब्जेक्ट

हर अपवाद अपने साथ एक संदेश रखता है। str(e) या e.args उसका विवरण देते हैं। इसे except के अंदर इस तरह प्राप्त करें: except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

एकाधिक प्रकार पकड़ना

except (TypeError, ValueError): एक ही क्लॉज़ में दोनों में से किसी भी प्रकार को पकड़ता है।
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

ExceptionGroup (3.11+)

Python 3.11 में एक साथ उत्पन्न होने वाले कई अपवादों के लिए ExceptionGroup जोड़ा गया है, जिसे except* सिंटैक्स से संभाला जाता है।
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

चेतावनियाँ बनाम अपवाद

import warnings; warnings.warn('msg') अपवाद उत्पन्न किए बिना चेतावनी जारी करता है। इसका उपयोग अप्रचलन और हल्की त्रुटियों के लिए करें।
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

except ब्लॉक के अंदर, sys.exc_info() (type, value, traceback) लौटाता है — अपवाद के पूरे विवरण का लॉग बनाने के लिए उपयोगी है।
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

अपवाद श्रृंखलाबद्ध करना

raise NewError('msg') from original_exc अपवादों को श्रृंखलाबद्ध करता है। __cause__ एट्रिब्यूट उन्हें जोड़ता है।
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

त्वरित जाँच

ऐसी कुंजी से dict तक पहुँचने पर कौन-सा अपवाद उत्पन्न होता है जो मौजूद नहीं है?

पुनरावलोकन

अपवाद BaseException से विरासत में मिलते हैं। ट्रेसबैक को नीचे से ऊपर पढ़ें। except as e से पकड़ें। सामान्य प्रकार: ValueError, TypeError, KeyError, IndexError, AttributeError।

आगे बढ़ते रहें

बहुत अच्छा काम किया! प्रगति जारी रखने के लिए अगले पाठ पर जाएँ।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “अपवादों को समझना” पाठ निःशुल्क है?

हाँ—“अपवादों को समझना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“अपवादों को समझना” में मैं क्या सीखूँगा?

जानें कि अपवाद क्या होते हैं और Python उन्हें कैसे उत्पन्न करता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“अपवादों को समझना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. अपवादों को समझना
  2. try / except / else / finally
  3. अपवाद उत्पन्न करना और दोबारा उत्पन्न करना
  4. कस्टम अपवाद क्लास
← Python Academy पर वापस जाएँ