如何在 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'>
广告