FloatingPointError
浮動小数点数(float)の計算で、特殊なエラーが発生したときに使われるエラーです。
原因
通常のPythonの計算ではほとんど発生しませんが、NumPyなど一部のライブラリで、特定のエラー設定を有効にしている場合に発生することがあります。
エラーになるコード例
import numpy as np
np.seterr(all='raise')
result = np.float64(1.0) / np.float64(0.0)修正版
import numpy as np
np.seterr(all='raise')
try:
result = np.float64(1.0) / np.float64(0.0)
except FloatingPointError:
print('浮動小数点演算でエラーが発生しました')よくある間違い
- NumPyのエラー設定(seterr)を有効にしていることを忘れ、想定外の場所でエラーになる
- 通常のPython計算ではinf(無限大)になるだけの場面と混同する