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

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

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

एक्सेप्शन-प्रोन सब-एक्सप्रेशन्स के मूल्यांकन को फ़ंक्शन को सौंपना, एक संभावित समाधान है; अन्य उन मानों पर चेक हैं जो एक्सेप्शन उठा सकते हैं।

हम इस मुद्दे को निम्न कोड का उपयोग करके हैंडल कर सकते हैं।

उदाहरण

foo = (5, 7, 1, 0, 9)
def bar(self):
    try:
        return [1/i for i in foo]
    except ZeroDivisionError as e:
        print(e)

bar(foo)

आउटपुट

integer division or modulo by zero
Process finished with exit code 0
  1. - पायथन में KeyError एक्सेप्शन कैसे पकड़ें?

    KeyError तब उठाया जाता है जब कोई मान डिक्शनरी की कुंजी के रूप में नहीं मिलता। दिए गए कोड को एक्सेप्शन पकड़ने और उसका प्रकार खोजने के लिए निम्न प्रकार से फिर से लिखा गया है। उदाहरण import sys try: s = {a:5, b:7}[c] except: print(sys.exc_info()) आउटपुट (, KeyError(c,), )

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

    पायथन में एक्सेप्शन हैंडल करने का सबसे सरल तरीका try-except ब्लॉक का उपयोग करना है। उदाहरण try: fob = open(test.txt, r) fob.write(This is my test file for exception handling!!) except IOError: print(Error: cant find the file or read data) else: print(Write operation is performed succ

  1. - पायथन में लूप के भीतर एक्सेप्शन कैसे हैंडल करें?

    हम कोड में एक्सेप्शन को निम्न प्रकार से फिर से लिखकर हैंडल कर सकते हैं: a = [] foo = redbullz try: for i in foo: a.append(i) print(a[8]) except Exception as e: print(e) हमें निम्न आउटपुट मिलता है: list index out of range Process finished with exit code 0