A fetestexcept () függvény a C ++ -ban határozza meg, hogy a lebegőpontos kivételek meghatározott részhalmazai közül melyik van jelenleg beállítva.
A fetestexcept () függvény a fejlécfájlban van meghatározva.
fetestexcept () prototípus
int fetestexcept (int excepts);
A fetestexcept () függvény teszteli, hogy a kivételek által meghatározott lebegőpontos kivétel jelenleg be van-e állítva. Az excepts argumentum lebegőpontos OR a lebegőpontos kivétel makrók közül.
fetestexcept () Paraméterek
- kivételek: A Bitmask felsorolja a tesztelendő kivételjelzőket.
fetestexcept () Visszatérési érték
- A lebegőpontos kivétel makrók bitenkénti VAGYA, amelyek mind szerepelnek a kivételek között, és megfelelnek a jelenleg beállított lebegőpontos kivételeknek.
Példa: Hogyan működik a fetestexcept () függvény?
#include #include #include #pragma STDC FENV_ACCESS ON using namespace std; void print_exceptions() ( cout << "Raised exceptions: "; if(fetestexcept(FE_ALL_EXCEPT)) ( if(fetestexcept(FE_DIVBYZERO)) cout << "FE_DIVBYZERO "; if(fetestexcept(FE_INEXACT)) cout << "FE_INEXACT "; if(fetestexcept(FE_INVALID)) cout << "FE_INVALID "; if(fetestexcept(FE_OVERFLOW)) cout << "FE_OVERFLOW "; if(fetestexcept(FE_UNDERFLOW)) cout << "FE_UNDERFLOW "; ) else cout << "None"; cout << endl; ) int main(void) ( print_exceptions(); feraiseexcept(FE_INVALID|FE_DIVBYZERO); print_exceptions(); feclearexcept(FE_ALL_EXCEPT); print_exceptions(); return 0; )
A program futtatásakor a kimenet a következő lesz:
Felemelt kivételek: Nincsenek Felemelt kivételek: FE_DIVBYZERO FE_INVALID Felemelt kivételek: Nincsenek