Заголовочный файл:
| Название | Язык |
|---|---|
| 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
Ошибка области допустимых значений