Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để bắt OverflowError Exception trong Python?


Khi một phép toán số học vượt quá giới hạn của kiểu biến, lỗi OverflowError sẽ xuất hiện. Các số nguyên dài phân bổ nhiều không gian hơn khi các giá trị tăng lên, vì vậy chúng sẽ làm tăng MemoryError. Tuy nhiên, việc xử lý ngoại lệ dấu chấm động không được chuẩn hóa. Số nguyên thông thường được chuyển đổi thành giá trị dài nếu cần.

Ví dụ

Mã đã cho được viết lại để bắt ngoại lệ như sau

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

Đầu ra

Chúng tôi nhận được sau OverflowError như đầu ra như sau

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')