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

पायथन में OverflowError एक्सेप्शन कैसे पकड़ें?

जब अंकगणितीय ऑपरेशन वेरिएबल टाइप की सीमा को पार कर जाता है, तो OverflowError उठाया जाता है। लॉन्ग इंटीजर्स मान बढ़ने पर अधिक स्पेस आवंटित करते हैं, इसलिए वे अंत में MemoryError उठाते हैं। फ्लोटिंग पॉइंट एक्सेप्शन हैंडलिंग मानकीकृत नहीं है। रेगुलर इंटीजर्स आवश्यकतानुसार लॉन्ग मानों में परिवर्तित हो जाते हैं।

उदाहरण

दिए गए कोड को एक्सेप्शन पकड़ने के लिए निम्न प्रकार से फिर से लिखा गया है:

i = 1
try:
    f = 3.0**i
    for i in range(100):
        print(i, f)
        f = f**2
except OverflowError as err:
    print('Overflowed after', f, err)

आउटपुट

हमें निम्न OverflowError आउटपुट के रूप में मिलता है:

C:/Users/TutorialsPoint1/~scratch_1.py
Floating point values:
0 3.0
1 9.0
2 81.0
3 6561.0
4 43046721.0
5 1.85302018885e+15
6 3.43368382029e+30
7 1.17901845777e+61
8 1.39008452377e+122
9 1.93233498323e+244
Overflowed after 1.93233498323e+244 (34, 'Result too large')
  1. - पायथन में एक्सेप्शन को आर्गुमेंट कैसे पास करें?

    एक एक्सेप्शन का एक आर्गुमेंट हो सकता है, जो एक वैल्यू है जो समस्या के बारे में अतिरिक्त जानकारी देता है। आर्गुमेंट की सामग्री एक्सेप्शन से एक्सेप्शन में भिन्न होती है। आप except क्लॉज में एक वेरिएबल सप्लाई करके एक्सेप्शन के आर्गुमेंट को कैप्चर करते हैं जैसा कि नीचे दिखाया गया है: उदाहरण try: b =

  1. - पायथन में KeyError एक्सेप्शन कैसे पकड़ें?

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

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

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