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








