如何在 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+ 瀏覽量

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告