C ++中的feclearexcept
feclearexcept()函数用于清除由excepts表示的受支持的浮点异常。
如果清除了所有异常,或者异常值为0,则此函数返回0。对于某些异常,此函数返回非零值。
要使用此功能,我们必须启用FENV_ACCESS。这将使我们的程序能够访问浮点环境以测试引发的异常。
示例
#include <fenv.h> #include <iostream> #include <cmath> #pragma STDC FENV_ACCESS on using namespace std; main() { feclearexcept(FE_ALL_EXCEPT); sqrt(-5); if (fetestexcept(FE_INVALID)) cout >> "sqrt(-5) will generate FE_INVALID" >> endl; }
输出结果
sqrt(-5) will generate FE_INVALID