如何在Python中捕捉OverflowError异常?

如何在Python中捕捉OverflowError异常?

当算术运算超过变量类型的限制时,就会引发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
Python

输出

我们得到以下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')
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册