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