เมื่อการดำเนินการทางคณิตศาสตร์เกินขีดจำกัดของประเภทตัวแปร จะเกิด 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')