C ++ feraiseexcept () - C ++ szabványos könyvtár

A C ++ feraiseexcept () függvénye megkísérli emelni az argumentum által megadott összes lebegőpontos kivételt.

A feraiseexcept () függvény a fejlécfájlban van meghatározva.

feraiseexcept () prototípus

 int feraiseexcept (int excepts);

A felvetendő lebegőpontos kivételeket az argumentumkivételek sorolják fel.

Ezenkívül engedélyeznie kell a FENV_ACCESS alkalmazást , amely lehetővé teszi a program számára, hogy hozzáférjen a lebegőpontos környezethez, hogy tesztelje a felvetett kivételeket.

feraiseexcept () Paraméterek

  • Kivételek: A felvetendő kivételjelzők Bitmaszk listája.
A Bitmask elfogadta a makrókat
Makró típus Leírás
FE_DIVBYZERO Pólushiba Osztás nullával
FE_INEXACT Pontatlan Nem pontos eredmények, mint például (1.0 / 3.0)
FE_INVALID Domain hiba Legalább egy argumentum olyan érték, amelyhez a függvény nincs meghatározva
FE_OVERFLOW Túlcsordulási tartomány hiba Az eredmény túl nagy nagyságrendű ahhoz, hogy a visszatérés típusa megjelenítse
FE_UNDERFLOW Alulfolyási tartomány hiba Az eredmény túl kicsi ahhoz, hogy a visszatérés típusa megjelenítse
FE_ALL_EXCEPT Minden kivétel A megvalósítás által támogatott összes kivétel

feraiseexcept () Visszatérési érték

  • A feraiseexcept () függvény nulla értéket ad vissza, ha a kivételekkel megadott összes kivétel felvetésre kerül.
  • Ellenkező esetben nem nulla értéket ad vissza.

Példa: Hogyan működik a feraiseexcept () függvény

 #include #include #pragma STDC FENV_ACCESS ON using namespace std; int main() ( int retVal; feclearexcept(FE_ALL_EXCEPT); retVal = feraiseexcept(FE_OVERFLOW | FE_INVALID); if (retVal == 0) cout << "Successfully raised FE_OVERFLOW and FE_INVALID" << endl; else cout << "Raising FE_OVERFLOW and FE_INVALID failed" << endl; return 0; )

A program futtatásakor a kimenet a következő lesz:

 A FE_OVERFLOW és a FE_INVALID sikeres emelése

érdekes cikkek...