Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจจับ OverflowError Exception ใน Python ได้อย่างไร


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