Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में एक्सेप्शन को सही तरीके से कैसे अनदेखा करें?

इसे निम्न कोड द्वारा किया जा सकता है:

try:
    x, y = 7, 0
    z = x/y
except:
    pass

या

try:
    x, y = 7, 0
    z = x/y
except Exception:
    pass

ये कोड try स्टेटमेंट में एक्सेप्शन को बाईपास करते हैं और except क्लॉज को अनदेखा करते हैं और कोई एक्सेप्शन नहीं उठाते।

उपरोक्त कोड में अंतर यह है कि पहला KeyboardInterrupt, SystemExit आदि को भी पकड़ लेगा, जो सीधे exceptions.BaseException से प्राप्त होते हैं, exceptions.Exception से नहीं।

यह ज्ञात है कि पायथन में अंतिम फेंका गया एक्सेप्शन याद रखा जाता है, एक्सेप्शन-थ्रोइंग स्टेटमेंट में शामिल कुछ ऑब्जेक्ट्स अगले एक्सेप्शन तक जीवित रहते हैं। हम केवल pass के बजाय निम्न करना चाह सकते हैं:

try:
    x, y = 7, 0
    z = x/y
except Exception:
    sys.exc_clear()

यह अंतिम फेंके गए एक्सेप्शन को क्लियर करता है।

  1. - पायथन में एक्सेप्शन को अनदेखा करके कैसे आगे बढ़ें?

    हम निम्न तरीकों से एक्सेप्शन को हैंडल किए बिना try-except ब्लॉक चला सकते हैं: try: 1/0 except: pass और try: 1/0 except Exception: pass पहले मामले में, bare except: का उपयोग करना except BaseException: जैसा है जो KeyboardInterrupt, SystemExit और उन जैसे एरर्स को भी पकड़ लेगा, जो सीधे e

  1. - पायथन में लिस्ट कॉम्प्रिहेंशन में एक्सेप्शन कैसे पकड़ें?

    पायथन में कोई बिल्ट-इन फ़ंक्शन नहीं है जो आपको एक्सेप्शन को हैंडल या अनदेखा करने दे, इसलिए लिस्ट कॉम्प्रिहेंशन में सभी एक्सेप्शन को हैंडल करना संभव नहीं है क्योंकि लिस्ट कॉम्प्रिहेंशन में एक या अधिक एक्सप्रेशन्स होते हैं; केवल स्टेटमेंट्स एक्सेप्शन को पकड़/अनदेखा/हैंडल कर सकते हैं। एक्सेप्शन-प्रोन स

  1. - आप कैसे टेस्ट करते हैं कि पायथन फंक्शन एक एक्सेप्शन फेंकता है?

    हम एक यूनिट टेस्ट लिखते हैं जो केवल तभी फेल होता है जब फंक्शन अपेक्षित एक्सेप्शन नहीं फेंकता। हम यह भी टेस्ट करते हैं कि क्या पायथन फंक्शन एक्सेप्शन फेंकता है। उदाहरण के लिए, पायथन की टाइप-सेफ्टी को टेस्ट करने के लिए पायथन शेल में पेस्ट किए गए नमूना कोड को देखें: उदाहरण import unittest class MyTestC