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