Error handling
Contents |
Error numbers
|
Defined in header
<errno.h>
|
|
|
macro which expands to POSIX-compatible thread-local error number variable
(macro variable) |
|
|
macros for standard POSIX-compatible error conditions
(macro constant) |
|
Assertions
|
Defined in header
<assert.h>
|
|
|
aborts the program if the user-specified condition is not
true
. May be disabled for release builds
(function macro) |
|
|
(C11)
(removed in C23)
|
issues a compile-time diagnostic if the value of a constant expression is false
(keyword macro) |
Bounds checkingThe standard library provides bounds-checked versions of some existing functions ( gets_s , fopen_s , printf_s , strcpy_s , wcscpy_s , mbstowcs_s , qsort_s , getenv_s , etc). This functionality is optional and is only available if __STDC_LIB_EXT1__ is defined. The following macros and functions support this functionality.
Note: implementations of bounds-checked functions are available as open-source libraries Safe C and Slibc , and as part of Watcom C. There is also an incompatible set of bounds-checked functions available in Visual Studio. |
(since C11) | ||||||||||||||||||||||||||||||||||||||||
Notes
Since C23,
static_assert
is itself a keyword, which may also be a predefined macro, so
<assert.h>
no longer provides it.
References
| Extended content |
|---|
|
See also
|
(C99)
(C99)
(C99)
|
defines the error handling mechanism used by the common mathematical functions
(macro constant) |
|
C++ documentation
for
Error handling
|
|