CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Jul 2025 23:31:14 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/cfenv/fesetexceptflag/
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 24 Jul 2025 23:31:14 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"790d-f50OfM7Rjfjcsh7hsCEBJd2IWXU"
Content-Encoding: gzip
Attempts to set the exceptions indicated by excepts with the states stored in the object pointed by flagp.
If successful, the function changes the current state of the floating-point environment, setting the requested exception flags, but without actually raising the exceptions.
Programs calling this function shall ensure that pragma FENV_ACCESS is enabled for the call.
A non-zero value otherwise.
Note that C floating-point exceptions are not C++ exceptions, and thus are not caught by
Calling this function with pragma FENV_ACCESS off causes undefined behavior.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<cfenv> (fenv.h)
functions
-
feclearexceptC++11
-
fegetenvC++11
-
fegetexceptflagC++11
-
fegetroundC++11
-
feholdexceptC++11
-
feraiseexceptC++11
-
fesetenvC++11
-
fesetexceptflagC++11
-
fesetroundC++11
-
fetestexceptC++11
-
feupdateenvC++11
-
types
pragma
-
FENV_ACCESSC++11
-
macro constants
-
FE_ALL_EXCEPTC++11
-
FE_DFL_ENVC++11
-
FE_DIVBYZEROC++11
-
FE_DOWNWARDC++11
-
FE_INEXACTC++11
-
FE_INVALIDC++11
-
FE_OVERFLOWC++11
-
FE_TONEARESTC++11
-
FE_TOWARDZEROC++11
-
FE_UNDERFLOWC++11
-
FE_UPWARDC++11
-
function
<cfenv>
fesetexceptflag
int fesetexceptflag (const fexcept_t* flagp, int excepts);
Set floating-point exception flags
If successful, the function changes the current state of the floating-point environment, setting the requested exception flags, but without actually raising the exceptions.
Programs calling this function shall ensure that pragma FENV_ACCESS is enabled for the call.
Parameters
- flagp
- Pointer to a fexcept_t object with a representation of floating-point exceptions.
The value pointed by flagp shall have been previously set by a call to fegetexceptflag with at least the exceptions specified by excepts. - excepts
- Bitmask value: A combination (with bitwise OR) of any number of floating-point exception values supported by the implementation:
macro value description FE_DIVBYZERO Pole error: division by zero, or some other asymptotically infinite result (from finite arguments). FE_INEXACT Inexact: the result is not exact. FE_INVALID Domain error: At least one of the arguments is a value for which the function is not defined. FE_OVERFLOW Overflow range error: The result is too large in magnitude to be represented as a value of the return type. FE_UNDERFLOW Underflow range error: The result is too small in magnitude to be represented as a value of the return type. FE_ALL_EXCEPT All exceptions (selects all of the exceptions supported by the implementation). FE_
).
Return Value
Zero, if the function successfully set the flags in the (or if excepts was zero).A non-zero value otherwise.
Data races
Each thread maintains a separate floating-point environment with its own state. Spawning a new thread copies the current state. [This applies to C11 and C++11 implementations]Exceptions
No-throw guarantee: this function never throws exceptions.Note that C floating-point exceptions are not C++ exceptions, and thus are not caught by
try/catch
blocks.Calling this function with pragma FENV_ACCESS off causes undefined behavior.
See also
- fegetexceptflag
- Get floating-point exception flags (function)
- feraiseexcept
- Raise floating-point exception (function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us