पायथन में कोई बिल्ट-इन फ़ंक्शन नहीं है जो आपको एक्सेप्शन को हैंडल या अनदेखा करने दे, इसलिए लिस्ट कॉम्प्रिहेंशन में सभी एक्सेप्शन को हैंडल करना संभव नहीं है क्योंकि लिस्ट कॉम्प्रिहेंशन में एक या अधिक एक्सप्रेशन्स होते हैं; केवल स्टेटमेंट्स एक्सेप्शन को पकड़/अनदेखा/हैंडल कर सकते हैं।
एक्सेप्शन-प्रोन सब-एक्सप्रेशन्स के मूल्यांकन को फ़ंक्शन को सौंपना, एक संभावित समाधान है; अन्य उन मानों पर चेक हैं जो एक्सेप्शन उठा सकते हैं।
हम इस मुद्दे को निम्न कोड का उपयोग करके हैंडल कर सकते हैं।
उदाहरण
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