C ++ feraiseexcept () - Standardna knjižnica C ++

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.
Bitmask je sprejel makre
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

Zanimive Članki...