CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Mon, 21 Jul 2025 15:29:50 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/cmath/math_errhandling/
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 21 Jul 2025 15:29:50 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"9e8a-LezwXlU7NJNchWPTB5KwJkmhFmM"
Content-Encoding: gzip
Expands to an expression that identifies the error handling mechanism employed by the functions in the <cmath> header:
Both MATH_ERRNO and MATH_ERREXCEPT are macro constant expressions defined in <cmath> as
Possible output:
This is a requirement for libraries compliant with C11 and C++11 standards.
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>
<cmath> (math.h)
functions
- abs
- acos
-
acoshC++11
- asin
-
asinhC++11
- atan
- atan2
-
atanhC++11
-
cbrtC++11
- ceil
-
copysignC++11
- cos
- cosh
-
erfC++11
-
erfcC++11
- exp
-
exp2C++11
-
expm1C++11
- fabs
-
fdimC++11
- floor
-
fmaC++11
-
fmaxC++11
-
fminC++11
- fmod
-
fpclassifyC++11
- frexp
-
hypotC++11
-
ilogbC++11
-
isfiniteC++11
-
isgreaterC++11
-
isgreaterequalC++11
-
isinfC++11
-
islessC++11
-
islessequalC++11
-
islessgreaterC++11
-
isnanC++11
-
isnormalC++11
-
isunorderedC++11
- ldexp
-
lgammaC++11
-
llrintC++11
-
llroundC++11
- log
- log10
-
log1pC++11
-
log2C++11
-
logbC++11
-
lrintC++11
-
lroundC++11
- modf
-
nanC++11
-
nanfC++11
-
nanlC++11
-
nearbyintC++11
-
nextafterC++11
-
nexttowardC++11
- pow
-
remainderC++11
-
remquoC++11
-
rintC++11
-
roundC++11
-
scalblnC++11
-
scalbnC++11
-
signbitC++11
- sin
- sinh
- sqrt
- tan
- tanh
-
tgammaC++11
-
truncC++11
macro constants
types
macro
<cmath> <ctgmath>
math_errhandling
int
Error handling
constant | value | description |
---|---|---|
MATH_ERRNO | 1 | errno is used to signal errors: - On domain error: errno is set to EDOM. - On range error (including pole error, overflow, and possibly underflow): errno is set to ERANGE. |
MATH_ERREXCEPT | 2 | The proper C exception is raised: - On domain error: FE_INVALID is raised. - On pole error: FE_DIVBYZERO is raised. - On overflow: FE_OVERFLOW is raised. - On underflow: FE_UNDERFLOW may be raised. |
MATH_ERRNO|MATH_ERREXCEPT | 3 | Both of the above |
Both MATH_ERRNO and MATH_ERREXCEPT are macro constant expressions defined in <cmath> as
1
and 2
respectivelly.Example
|
|
Possible output:
Error handling: 3 errno set to EDOM FE_INVALID raised |
Data races
Libraries that support multi-threading shall implement errno and/or floating-point exception state in a per-thread basis: With each thread having its own local errno and floating-point state.This is a requirement for libraries compliant with C11 and C++11 standards.
- errno
- Last error number (macro)
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