Error handling
From cppreference.com
< c
C
Error handling
| Error codes | ||||
| Error codes | ||||
| Assertions | ||||
(C11)(removed in C23) | ||||
| Bounds checking | ||||
(C11) | ||||
(C11) |
Contents |
[edit] Error numbers
| Defined in header
<errno.h> | |
| macro which expands to POSIX-compatible thread-local error number variable (macro variable) [edit] | |
| macros for standard POSIX-compatible error conditions (macro constant) [edit] | |
[edit] 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) [edit] | |
| (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 Slibc, and as part of Watcom C. There is also an incompatible set of bounds-checked functions available in Visual Studio. |
(since C11) | ||||||||||||||||||||||||||||||||||||||||
[edit] Notes
Since C23, static_assert is itself a keyword, which may also be a predefined macro, so <assert.h> no longer provides it.
[edit] References
| Extended content |
|---|
|
[edit] See also
| (C99)(C99)(C99) |
defines the error handling mechanism used by the common mathematical functions (macro constant) [edit] |
| C++ documentation for Error handling
| |