Freigeben über


fesetexceptflag

Legt die angegebenen Gleitkomma-Statusflags in der aktuellen Gleitkommaumgebung fest

Syntax

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

Parameter

pstatus
Zeigen Sie auf ein fexcept_t Objekt, das die Werte enthält, auf die die Ausnahmestatuskennzeichnungen festgelegt werden sollen. Das Objekt kann durch einen vorherigen Aufruf von fegetexceptflag.

excepts
Die festzulegenden Gleitkommaausnahme-Statusflags

Rückgabewert

Wenn alle angegebenen Ausnahmestatusflags erfolgreich festgelegt wurden, wird 0 zurückgegeben. Andernfalls gibt es einen Wert ungleich 0 (null) zurück.

Hinweise

Die Funktion fesetexceptflag legt den Zustand der von excepts angegebenen Gleitkommaausnahme-Statusflags auf die Werten der entsprechenden fexcept_t-Objekte fest, auf die pstatus verweist. Es löst die Ausnahmen nicht aus. Der pstatus-Zeiger muss auf ein gültiges fexcept_t-Objekt zeigen. Andernfalls ist das daraus resultierende Verhalten nicht definiert. Die fesetexceptflag Funktion unterstützt diese Ausnahmemakrowerte in excepts, definiert in <fenv.h>:

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 Argument excepts kann entweder null, eines der unterstützten Gleitkommaausnahme-Makros oder das bitweise OR von mindestens zwei der Makros sein. Der Effekt von jedem anderen 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
fesetexceptflag <fenv.h> <cfenv>

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

Siehe auch

Alphabetische Funktionsreferenz
fegetexceptflag