<cfenv>

FE_INVALID

int
无效参数异常
此宏扩展为 `int` 类型的值,用于标识因无效参数而引发的浮点异常

无效参数异常用于信号指示传递给函数的参数超出了其定义域(即函数对于该值未定义),例如 sqrt(-1.0)

引发此异常的函数的返回值是未指定的

FE_INVALID 定义为一个精确的二次幂值,允许将多个浮点异常(使用按位或运算符:|)组合成一个值。
宏值描述
FE_DIVBYZERO极点错误:除以零,或一些其他渐近无穷大的结果(由有限参数产生)。
FE_INEXACT不精确:结果不精确。
FE_INVALID定义域错误:至少有一个参数是函数未定义的值。
FE_OVERFLOW上溢范围错误:结果的量级太大,无法表示为返回类型的值。
FE_UNDERFLOW下溢范围错误:结果的量级太小,无法表示为返回类型的值。
FE_ALL_EXCEPT所有异常(选择实现支持的所有异常)。
某些库实现可能支持额外的浮点异常值(其对应的宏也以 FE_ 开头)。
库可能仅在 <fenv.h> 中定义它们支持的上述宏值(其他宏可能未定义)。
如果 math_errhandling 设置为 MATH_ERREXCEPT,则 FE_INVALID 始终是已定义的。
至少所有上述宏值都在 <cfenv> 中有定义(即使实现不支持)。

另见