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.
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