C ++ feraiseexcept () - C ++ standaardbibliotheek

De functie feraiseexcept () in C ++ probeert alle drijvende-komma-uitzonderingen te verhogen die door het argument worden gespecificeerd.

De functie feraiseexcept () is gedefinieerd in het headerbestand.

feraiseexcept () prototype

 int feraiseexcept (int behalves);

De uitzonderingen met drijvende komma die moeten worden verhoogd, worden vermeld in de argument excepts.

U moet ook FENV_ACCESS inschakelen , wat uw programma toegang geeft tot de Floating point-omgeving om de opgeworpen uitzonderingen te testen.

feraiseexcept () Parameters

  • behalve: Bitmask-lijst met uitzonderingsvlaggen om te verhogen.
Bitmask geaccepteerde macro's
Macro Type Omschrijving
FE_DIVBYZERO Poolfout Deling door nul
FE_INEXACT Inexact Niet exacte resultaten zoals (1.0 / 3.0)
FE_INVALID Domeinfout Ten minste één van de gebruikte argumenten is een waarde waarvoor de functie niet is gedefinieerd
FE_OVERFLOW Fout overloopbereik Het resultaat is te groot om te worden weergegeven door het retourtype
FE_UNDERFLOW Fout onderstroombereik Het resultaat is te klein om te worden weergegeven door het retourtype
FE_ALL_EXCEPT Alle uitzonderingen Alle uitzonderingen ondersteund door de implementatie

feraiseexcept () Retourwaarde

  • De functie feraiseexcept () retourneert een nulwaarde als alle uitzonderingen die zijn gespecificeerd door uitzonderingen worden verhoogd.
  • Anders retourneert het een waarde die niet nul is.

Voorbeeld: hoe de functie feraiseexcept () werkt

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

Wanneer u het programma uitvoert, is de uitvoer:

 Met succes FE_OVERFLOW en FE_INVALID verhoogd

Interessante artikelen...