Funkcija feraiseexcept () v C ++ poskuša dvigniti vse izjeme s plavajočo vejico, ki jih določa argument.
Funkcija feraiseexcept () je definirana v datoteki glave.
prototip feraiseexcept ()
int feraiseexcept (int izvlečki);
Izjeme s plavajočo vejico, ki jih je treba navesti, so navedene v razlogih argumentov.
Prav tako morate omogočiti FENV_ACCESS , ki bo vašemu programu omogočil dostop do okolja s plavajočo vejico za preizkušanje uveljavljenih izjem.
parametri feraiseexcept ()
- izjeme: Bitmask seznam izjem, ki jih je treba dvigniti.
Makro | Tip | Opis |
---|---|---|
FE_DIVBYZERO | Napaka pola | Delitev z ničlo |
FE_INEXACT | Nenatančno | Ne natančni rezultati, kot je (1.0 / 3.0) |
FE_INVALID | Napaka domene | Vsaj en uporabljeni argument je vrednost, za katero funkcija ni definirana |
FE_OVERFLOW | Napaka območja prelivanja | Rezultat je prevelik, da bi ga prikazal tip vrnitve |
FE_UNDERFLOW | Napaka območja podtoka | Rezultat je premajhen, da bi ga prikazal tip vrnitve |
FE_ALL_EXCEPT | Vse izjeme | Vse izjeme, ki jih podpira izvedba |
feraiseexcept () Vrnjena vrednost
- Funkcija feraiseexcept () vrne nič vrednost, če so zbrane vse izjeme, določene z izjemami.
- V nasprotnem primeru vrne drugačno vrednost.
Primer: Kako deluje funkcija feraiseexcept ()
#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; )
Ko zaženete program, bo rezultat:
Uspešno dvignili FE_OVERFLOW in FE_INVALID