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