Freigeben über


fetestexcept

Bestimmt, welche der angegebenen Gleitkommaausnahme-Statusflags momentan festgelegt sind

Syntax

int fetestexcept(
   int excepts
);

Parameter

excepts
Bitweiser OR der zu testenden Gleitkomma-Statusflags

Rückgabewert

Gibt bei Erfolg eine Bitmaske mit einem bitweisen OR der Gleitkommaausnahme-Makros zurück, die den derzeit festgelegten Ausnahmestatusflags entsprechen. Gibt 0 zurück, wenn keine Ausnahmen festgelegt wurden.

Hinweise

Verwenden Sie die Funktion „fetestexcept“, um zu bestimmen, welche Ausnahmen durch einen Gleitkommavorgang ausgelöst wurden. Verwenden Sie den Parameter excepts, um die zu testenden Ausnahmestatusflags anzugeben. Die fetestexcept Funktion verwendet diese Ausnahmemakros, die in <fenv.h>excepts definiert sind, und den Rückgabewert:

Ausnahmemakro Beschreibung
FE_DIVBYZERO Eine Singularität oder ein Polstellenfehler aus einer früheren Gleitkommaoperation; ein Unendlichkeitswert wurde erstellt.
FE_INEXACT Die Funktion wurde gezwungen, das gespeicherte Ergebnis einer früheren Gleitkommaoperation zu runden.
FE_INVALID Ein Domänenfehler ist in einer früheren Gleitkommaoperation aufgetreten.
FE_OVERFLOW Ein Bereichsfehler ist aufgetreten; das Ergebnis einer früheren Gleitkommaoperation war zu groß, um dargestellt zu werden.
FE_UNDERFLOW Das Ergebnis einer früheren Gleitkommaoperation war zu klein, um ganz genau dargestellt zu werden; ein nicht normaler Wert wurde erstellt.
FE_ALL_EXCEPT Bitweiser OR-Operator oder alle unterstützten Gleitkommaausnahmen

Das angegebene Argument excepts kann entweder 0, eines der unterstützten Gleitkommaausnahme-Makros oder das bitweise OR von mindestens zwei der Makros sein. Der Effekt von jedem anderen excepts-Argumentwert ist nicht definiert.

Um diese Funktion zu verwenden, müssen Sie vor dem Aufruf Gleitkommaoptimierungen deaktivieren, die den Zugriff mithilfe der #pragma fenv_access(on)-Direktive verhindern könnten. Weitere Informationen finden Sie unter fenv_access.

Anforderungen

Funktion C-Header C++-Header
fetestexcept <fenv.h> <cfenv>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

Alphabetische Funktionsreferenz
feclearexcept
feraiseexcept