在 C++ 中的 feclearexcept
fclearexcept() 函数用于清除 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
广告