C ++ feraiseexcept () - C ++ Standardbibliothek

Die Funktion feraiseexcept () in C ++ versucht, alle durch das Argument angegebenen Gleitkommaausnahmen auszulösen.

Die Funktion feraiseexcept () ist in der Header-Datei definiert.

feraiseexcept () Prototyp

 int feraiseexcept (int excepts);

Die auszulösenden Gleitkomma-Ausnahmen sind in den Argumentausnahmen aufgeführt.

Außerdem sollten Sie FENV_ACCESS aktivieren , damit Ihr Programm auf die Gleitkommaumgebung zugreifen kann, um die ausgelösten Ausnahmen zu testen.

feraiseexcept () Parameter

  • Ausnahmen: Bitmaskenliste der auszulösenden Ausnahmeflags.
Bitmaske akzeptierte Makros
Makro Art Beschreibung
FE_DIVBYZERO Pole Fehler Durch Null teilen
FE_INEXACT Ungenau Nicht genaue Ergebnisse wie (1.0 / 3.0)
FE_INVALID Domänenfehler Mindestens ein Argument ist ein Wert, für den die Funktion nicht definiert ist
FE_OVERFLOW Überlaufbereichsfehler Das Ergebnis ist zu groß, um durch den Rückgabetyp dargestellt zu werden
FE_UNDERFLOW Unterlaufbereichsfehler Das Ergebnis ist zu klein, um durch den Rückgabetyp dargestellt zu werden
FE_ALL_EXCEPT Alle Ausnahmen Alle von der Implementierung unterstützten Ausnahmen

feraiseexcept () Rückgabewert

  • Die Funktion feraiseexcept () gibt den Wert Null zurück, wenn alle durch Ausnahmen angegebenen Ausnahmen ausgelöst werden.
  • Andernfalls wird ein Wert ungleich Null zurückgegeben.

Beispiel: Funktionsweise der Funktion 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; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 FE_OVERFLOW und FE_INVALID wurden erfolgreich ausgelöst

Interessante Beiträge...