Open In App

feclearexcept in C++ with Examples

feclearexcept() clears the supported floating-point exceptions represented by excepts.
Syntax:

int feclearexcept(int excepts);
excepts : Bitmask listing of exception flags to clear

Return value:
The feclearexcept() function returns zero value if all the exceptions were cleared or if excepts is equal to zero.
It returns nonzero if any error occurs.

For the function to work, you should enable FENV_ACCESS, which will give your program to access the Floating point environment to test the exceptions raised.




// Cpp program to demonstrate
// feclearexcept()
#include <fenv.h> /* feclearexcept FE_ALL_EXCEPT, FE_INVALID */
#include <iostream> /* cout */
#include <math.h> /* sqrt */
#pragma STDC FENV_ACCESS on
using namespace std;
  
int main()
{
    feclearexcept(FE_ALL_EXCEPT);
    sqrt(-1);
    if (fetestexcept(FE_INVALID))
        cout << "sqrt(-1) raises FE_INVALID" << endl;
    return 0;
}

Output:
sqrt(-1) raises FE_INVALID
Article Tags :
C++