C ++ feraiseeksept () - C ++ standardbibliotek

Feraiseexcept () -funksjonen i C ++ prøver å heve alle unntakene for flytende punkt som er angitt av argumentet.

Feraiseexcept () -funksjonen er definert i topptekstfilen.

feraiseexcept () prototype

 int feraiseexcept (int excepts);

Flytende unntak som skal heves er oppført i argumentet unntak.

Du bør også aktivere FENV_ACCESS , som vil gi programmet ditt tilgang til flytepunktmiljøet for å teste unntakene som er hevet.

feraiseexcept () Parametere

  • unntas: Bitmask-liste over unntaksflagg å heve.
Bitmask aksepterte makroer
Makro Type Beskrivelse
FE_DIVBYZERO Stangfeil Divisjon med null
FE_INEXACT Inexakt Ikke eksakte resultater som (1.0 / 3.0)
FE_INVALID Domenefeil Minst ett argument som brukes er en verdi som funksjonen ikke er definert for
FE_OVERFLOW Feil på overløpsområde Resultatet er for stort i størrelse til å bli representert av returtypen
FE_UNDERFLOW Feil understrømningsområde Resultatet er for lite i størrelse til å bli representert av returtypen
FE_ALL_EXCEPT Alle unntak Alle unntak støttet av implementeringen

feraiseexcept () Returverdi

  • Funksjonen feraiseexcept () returnerer nullverdi hvis alle unntakene spesifisert av unntakene er hevet.
  • Ellers returnerer den en verdi som ikke er null.

Eksempel: Hvordan funksjonen feraiseexcept () fungerer

 #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; )

Når du kjører programmet, vil utdataene være:

 Hevet FE_OVERFLOW og FE_INVALID

Interessante artikler...