Error handling
Содержание |
Номера ошибок
|
Определено в заголовочном файле
<errno.h>
|
|
|
макрос, который раскрывается в POSIX-совместимую thread-local переменную номера ошибки
(макрос-переменная) |
|
|
макросы для стандартных POSIX-совместимых условий ошибок
(макрос-константа) |
|
Утверждения
|
Определено в заголовочном файле
<assert.h>
|
|
|
прерывает выполнение программы, если заданное пользователем условие не
true
. Может быть отключено для релизных сборок
(функциональный макрос) |
|
|
(C11)
(удалено в C23)
|
выдает диагностическое сообщение на этапе компиляции, если значение константного выражения ложно
(ключевое слово-макрос) |
Проверка границСтандартная библиотека предоставляет версии некоторых существующих функций с проверкой границ ( gets_s , fopen_s , printf_s , strcpy_s , wcscpy_s , mbstowcs_s , qsort_s , getenv_s , и др.). Эта функциональность является опциональной и доступна только если определён __STDC_LIB_EXT1__ . Следующие макросы и функции поддерживают эту функциональность.
Примечание: реализации функций с проверкой границ доступны в виде open-source библиотек Safe C и Slibc , а также в составе Watcom C. Также существует несовместимый набор функций с проверкой границ, доступный в Visual Studio. |
(начиная с C11) | ||||||||||||||||||||||||||||||||||||||||
Примечания
Начиная с C23,
static_assert
сам по себе является ключевым словом, которое также может быть предопределённым макросом, поэтому
<assert.h>
больше его не предоставляет.
Ссылки
| Расширенное содержимое |
|---|
|
Смотрите также
|
(C99)
(C99)
(C99)
|
определяет механизм обработки ошибок, используемый общими математическими функциями
(макроконстанта) |
|
C++ documentation
для
Обработка ошибок
|
|