Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Język C++

errno

[makro] Ostatni numer błędu.

Składnia

C/C++
#include <cerrno>

int __nieznanaNazwaFunkcji();
#define errno __nieznanaNazwaFunkcji()

Opis szczegółowy

Makro errno zwraca liczbę, która reprezentuje numer ostatniego błędu. Wartość errno jest modyfikowana przez niektóre funkcje systemowe takie jak np. » standard C ♦ fopen czy też » standard C ♦ remove. Zaleca się aby sprawdzać wartość errno natychmiast po wywołaniu funkcji, która może modyfikować wartość errno. Aktualny komunikat błędu można odczytać za pomocą funkcji » standard C ♦ perror. Komunikat jaki jest przypisany do numeru błędu można odczytać za pomocą funkcji » standard C ♦ strerror. Funkcja, która obsługuje errno oraz wykona się pomyślnie ustawia errno na wartość 0. Wartość errno jest ustawiona na zero w chwili uruchomienia programu. Plik nagłówkowy » standard C ♦ cerrno (errno.h) zawiera definicje błędów jakie mogą zostać ustawione przez funkcje standardowej biblioteki C.

Definicje błędów

Nazwa stałejOpis błędu
EDOMBłąd domeny: niektóre funkcje matematyczne są zdefiniowane tylko dla pewnych wartości rzeczywistych, co nazwane jest domeną. np: funkcja pierwiastkowania pierwszego stopnia, » standard C ♦ sqrt jest zdefiniowana tylko dla wartości dodatnich. Jeżeli otrzyma ujemną wartość ustawi errno na EDOM
ERANGEBłąd zasięgu: zasięg wartości może być reprezentowany przez limit zmiennej która tę wartość przechowuje. np: matematyczne funkcje takie jak np. » standard C ♦ pow mogą łatwo przekroczyć zasięg wartości zmiennoprzecinkowej. Funkcja » standard C ♦ strtod może spotkać sekwencję cyfr przedstawiającą większą wartość niż limit typu int. W tych przypadkach errno zostanie ustawione na ERANGE

Inne definicje błędów

Więcej definicji błędów należy szukać w dokumentacji nawiązującej do posiadanego kompilatora oraz używanych przez niego bibliotek. Dla środowiska Visual C++ definicje błędów możesz znaleźć na następujących stronach:

Dodatkowe informacje

W C++ errno jest zawsze zadeklarowane jako makro jednak w kompilatorach C może być także zaimplementowane jako zmienna int z zewnętrznym linkowaniem.

Zagadnienia powiązane

cerrno (errno.h)Obsługa błędów. (plik nagłówkowy)
perrorWypisuje komunikat błędu na standardowy strumień błędów (» standard C ♦ stderr). (funkcja)
strerrorZwraca łańcuch znaków zawierający komunikat błędu dla wskazanego numeru błędu. (funkcja)

Linki zewnętrzne