feclearexcept() 함수는 예외가 나타내는 지원되는 부동 소수점 예외를 지우는 데 사용됩니다.
이 함수는 모든 예외가 지워지거나 예외 값이 0이면 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