ฟังก์ชัน feclearexcept() ใช้เพื่อล้าง (Clear) Floating-point Exceptions ที่รองรับ ซึ่งแสดงโดย excepts
ฟังก์ชันนี้คืนค่า 0 ถ้าล้าง Exceptions ทั้งหมดสำเร็จ หรือค่า Exception เป็น 0 และคืนค่า Non-zero สำหรับบาง Exceptions
เพื่อใช้ฟังก์ชันนี้ เราต้องเปิดใช้งาน FENV_ACCESS จะให้โปรแกรมของเราเข้าถึง Floating-point Environment เพื่อทดสอบ Exception ที่เกิดขึ้น
ตัวอย่าง
#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