Обработка ошибок
Номера ошибок
Определено в заголовке <errno.h> |
|
|---|---|
| макрос, который расширяется до POSIX-совместимой переменной номера ошибки потока (макропеременная) |
|
| макросы для стандартных POSIX-совместимых условий ошибок (макроконстанта) |
|
Утверждения
Определено в заголовке <assert.h> |
|
|---|---|
прерывает выполнение программы, если указанное пользователем условие не true. Может быть отключено для релизных сборок(макрофункция) |
|
|
(C11)(удалено в C23)
|
выдает диагностическое сообщение на этапе компиляции, если значение константного выражения ложно (макроключевое слово) |
Проверка границСтандартная библиотека предоставляет версии функций с проверкой границ некоторых существующих функций (
Примечание: реализации функций с проверкой границ доступны как открытые исходные коды Safe C и Slibc, а также как часть Watcom C. Существует также несовместимый набор функций с проверкой границ, доступных в Visual Studio. |
(с C11) | ||||||||||||||||||||||||||||||||
Примечания
С C23, static_assert само по себе является ключевым словом, которое также может быть предопределённым макросом, поэтому <assert.h> больше не предоставляет его.
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.2 Диагностика <assert.h> (с. 186-187)
- 7.5 Ошибки <errno.h> (с. 205)
- 7.19 Общие определения <stddef.h> (с. 288)
- 7.20 Целочисленные типы <stdint.h> (с. 289-295)
- 7.21 Ввод/вывод <stdio.h> (с. 296-339)
- 7.22 Общие утилиты <stdlib.h> (с. 340-360)
- K.3.1.3 Использование errno (с. 584)
- K.3.2/2 errno_t (с. 585)
- K.3.3/2 rsize_t (с. 585)
- K.3.4/2 RSIZE_MAX (с. 585)
- 7.31.3 Ошибки <errno.h> (с. 455)
- 7.31.10 Целочисленные типы <stdint.h> (с. 456)
- 7.31.11 Ввод/вывод <stdio.h> (с. 456)
- 7.31.12 Общие утилиты <stdlib.h> (с. 456)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.2 Диагностика <assert.h> (с. 169)
- 7.5 Ошибки <errno.h> (с. 186)
- 7.26.3 Ошибки <errno.h> (с. 401)
- 7.26.8 Целочисленные типы <stdint.h> (с. 401)
- 7.26.9 Ввод/вывод <stdio.h> (с. 402)
- 7.26.10 Общие утилиты <stdlib.h> (с. 402)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.2 ДИАГНОСТИКА <assert.h>
- 4.1.3 Ошибки <errno.h>
- 4.13.1 Ошибки <errno.h>
- 4.13.6 Ввод/вывод <stdio.h>
- 4.13.7 Общие утилиты <stdlib.h>
См. также
|
(C99)(C99)(C99)
|
определяет механизм обработки ошибок, используемый общими математическими функциями (макроконстанта) |
| Документация C++ для Обработки ошибок | |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/error