Python में एरर हैंडलिंग: try-except-finally से सभी अपवादों को पकड़ना सीखें

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

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

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

Python में अपवाद हैंडलिंग: पूरी गाइड

एरर सॉफ्टवेयर डेवलपमेंट का एक अटूट हिस्सा हैं। सबसे अच्छा कोड भी अप्रत्याशित परिस्थितियों का सामना कर सकता है: फ़ाइल न मिलना, शून्य से भाग देना, नेटवर्क कनेक्शन की समस्या, आदि। ऐसी स्थितियों में प्रोग्राम को क्रैश होने से बचाने के लिए, Python try-except-finally जैसी शक्तिशाली अपवाद हैंडलिंग सुविधाएँ प्रदान करता है।

Python में try-except-finally कैसे काम करता है?

try-except-finally संरचना आपको प्रोग्राम चलने के दौरान उत्पन्न होने वाले अपवादों को पकड़ने और उनका सही तरीके से समाधान करने की अनुमति देती है।

सामान्य सिंटैक्स:

try:
    # वह कोड जो अपवाद उत्पन्न कर सकता है
except SomeException:
    # अपवाद को संभालने का कोड
finally:
    # वह कोड जो हर स्थिति में चलेगा

ब्लॉकों की व्याख्या:

  • try: इस ब्लॉक में मुख्य कोड रखा जाता है जिसमें अपवाद उत्पन्न हो सकता है।
  • except: यहाँ बताया जाता है कि try ब्लॉक में अपवाद आने पर क्या करना है। आप किसी विशेष प्रकार के अपवाद (SomeException) को पकड़ने के लिए निर्दिष्ट कर सकते हैं।
  • finally: finally ब्लॉक हमेशा चलता है, चाहे try ब्लॉक में अपवाद उत्पन्न हुआ हो या नहीं। इसका उपयोग आमतौर पर फ़ाइलें बंद करना, नेटवर्क कनेक्शन या डेटाबेस कनेक्शन जैसे संसाधनों को मुक्त करने के लिए किया जाता है।

try-except-finally का उदाहरण

try:
    number = int(input("एक पूर्णांक संख्या दर्ज करें: "))
    result = 10 / number
    print(f"परिणाम: {result}")
except ZeroDivisionError:
    print("एरर: शून्य से भाग देना मान्य नहीं है।")
except ValueError:
    print("एरर: कृपया एक सही पूर्णांक संख्या दर्ज करें।")
finally:
    print("प्रोग्राम समाप्त हो रहा है।")

यह कोड कैसे काम करता है:

  1. प्रोग्राम उपयोगकर्ता से एक पूर्णांक संख्या इनपुट करने के लिए कहता है।
  2. यदि उपयोगकर्ता 0 दर्ज करता है, तो ZeroDivisionError अपवाद उत्पन्न होता है, और संबंधित except ब्लॉक चलता है।
  3. यदि उपयोगकर्ता कोई गैर-पूर्णांक संख्या दर्ज करता है, तो ValueError अपवाद उत्पन्न होता है, और संबंधित except ब्लॉक चलता है।
  4. finally ब्लॉक हर स्थिति में चलता है, प्रोग्राम समाप्ति का संदेश दिखाता है।

finally ब्लॉक की आवश्यकता क्यों है?

finally ब्लॉक यह सुनिश्चित करता है कि महत्वपूर्ण कोड अपवाद उत्पन्न होने या न होने पर भी चले। इसके कुछ सामान्य उपयोग इस प्रकार हैं:

  • फ़ाइलें बंद करना:

    file = open("data.txt", "r")
    try:
        content = file.read()
        # फ़ाइल की सामग्री को प्रोसेस करें
    finally:
        file.close()  # फ़ाइल को बंद करने की गारंटी
    
  • संसाधन मुक्त करना: नेटवर्क कनेक्शन, डेटाबेस कनेक्शन और अन्य संसाधनों को मुक्त करना जिन्हें उपयोग के बाद बंद या मुक्त किया जाना चाहिए।

  • लॉगिंग पूरी करना या अस्थायी डेटा साफ़ करना: finally ब्लॉक का उपयोग लॉग फ़ाइल में लिखना पूरा करने या प्रोग्राम के दौरान बनाई गई अस्थायी फ़ाइलों को हटाने के लिए किया जा सकता है।

कई अपवादों को संभालना

एक ही try ब्लॉक में कई अलग-अलग प्रकार के अपवाद उत्पन्न हो सकते हैं। Python इस स्थिति को संभालने के कई तरीके प्रदान करता है:

कई except ब्लॉक का उपयोग करना

try:
    number = int(input("एक संख्या दर्ज करें: "))
    result = 100 / number
    print(resu                

ब्लॉग

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