如何在 Python 中捕获 FloatPointError 异常?


当浮点异常控制 (fpectl) 打开时,浮点运算会导致错误,进而引发 FloatingPointError 异常。要启用 fpectl,需要利用 --with-fpectl 标志编译解释器。

为了处理异常并找出异常类型,对给定代码进行如下重写。

示例

import sys
import math
import fpectl
try:
print 'Control off:', math.exp(700)
fpectl.turnon_sigfpe()
print 'Control on:', math.exp(1000)
except Exception as e:
print e
print sys.exc_type

输出

Control off: 1.01423205474e+304
Control on: in math_1
<type 'exceptions.FloatingPointError'>

更新于:12-02-2020

1000+ 浏览量

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告
© . All rights reserved.