如何在Python中捕获FloatingPointError异常?
当启用浮点数异常控制(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'>
极客教程