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