Заголовочный файл:
Название | Язык |
---|---|
errno.h | С |
cerrno | С++ |
Макрос errno
возвращает последний номер ошибки. Этот макрос заменяется на модифицируемое значение типа int
, поэтому errno
может изменять ход работы программы.
При запуске программы errno
инициализируется нулем. Некоторые функции стандартной Си-библиотеки могут изменить его значение на значение отличное от нуля, чтобы сигнализировать о возникновении ошибок. Вы также можете изменить значение errno
или обнулить его, на ваше усмотрение.
В этом же заголовочном файле <cerrno>
определены также, по крайней мере, следующие две константы со значениями отличными от нуля:
Константа | Описание |
EDOM |
Ошибка области допустимых значений:Некоторые математические функции работают только с определенными значениями, которые называют своей областью допустимых значений. Например, квадратный корень вычисляется только для неотрицательных чисел, поэтому функция |
ERANGE |
Ошибка диапазона значений:Диапазон значений, которые могут быть представлены типами данных, ограничен. Например, математические функции, такие как |
В C++, ошибка всегда объявляется как макрос.
Пример: исходный код программы
// пример использования функции assert #include <iostream> // для оператора cout #include <cerrno> // для макроса errno #include <cmath> // для функции sqrt int main() { sqrt(-1); std::cout << "EDOM = " << EDOM << "nerrno = " << errno << std::endl; if (errno == EDOM) // если значения макросов errno и EDOM равны std::cout << "Ошибка области допустимых значенийn"; return 0; }
Результат работы программы
errno = 33
Ошибка области допустимых значений