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 Cfopen czy też » standard Cremove. 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 Cperror. Komunikat jaki jest przypisany do numeru błędu można odczytać za pomocą funkcji » standard Cstrerror. 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 Ccerrno (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 Csqrt 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 Cpow mogą łatwo przekroczyć zasięg wartości zmiennoprzecinkowej. Funkcja » standard Cstrtod 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 Cstderr). (funkcja)
strerrorZwraca łańcuch znaków zawierający komunikat błędu dla wskazanego numeru błędu. (funkcja)

Linki zewnętrzne