Python文档说,当float计算失败时,将引发FloatingPointError。但是,这里的“浮点计算”到底是什么意思?
我尝试用浮点数进行加,乘和除,但从未设法引发此特定错误。相反,我得到了TypeError:

10/'a'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'

有人可以帮助我了解在python中引发FloatingPointError吗?

最佳答案

它是 fpectl 模块的一部分。如果您未显式打开 FloatingPointError (fpectl.turnon_sigfpe()),则不应引发它。

但是请注意以下事项:



更新:fpectl模块为removed as of Python 3.7

即使打开了FloatingPointErrors,10/'a'也将永远不会引发一个浮点数。它将始终引发TypeError。仅对于达到实际执行浮点数学运算的操作(例如1.0/0.0),才会引发FloatingPointError。 10/'a'并没有那么远。

关于python - python什么时候引发FloatingPointError?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41223865/

10-12 22:18