エラー辞典

FloatingPointError

浮動小数点数(float)の計算で、特殊なエラーが発生したときに使われるエラーです。

原因

通常のPythonの計算ではほとんど発生しませんが、NumPyなど一部のライブラリで、特定のエラー設定を有効にしている場合に発生することがあります。

エラーになるコード例

import numpy as np
np.seterr(all='raise')
result = np.float64(1.0) / np.float64(0.0)
FloatingPointError: divide by zero encountered in double_scalars

修正版

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(無限大)になるだけの場面と混同する

← エラー辞典に戻る