在 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

更新于: 30-Jul-2019

44 浏览量

开启你的职业生涯

完成课程获得认证

开始
广告