যখন একটি অ্যারিথমেটিক অপারেশন ভেরিয়েবল টাইপের লিমিট অতিক্রম করে, তবে 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')