C/errno

< C
(Przekierowano z C/EILSEQ)

Deklaracja

edytuj
#include <errno.h>

#define errno 0

#define EDOM wartość
#define EILSEQ wartość
#define ERANGE wartość

errno to makro przechowująca kod ostatniego błędu. Na początku działania programu ma wartość 0 oznaczającą brak problemów. Jeśli w trakcie działania pojawią się błędy (na przykład na skutek działania funkcji wejścia/wyjścia), errno zostanie ustawione na wartość mówiącą o przyczynie wystąpienia błędu. Funkcje ze standardowej biblioteki C nigdy nie zerują wartości tej zmiennej.

Wartości

edytuj

Standard C89 definiuje następujące wartości zmiennej:

  • 0 - brak błędu,
  • EDOM - błąd zakresu argumentów przy wywoływaniu funkcji matematycznych,
  • ERANGE - wynik działania funkcji matematycznych nie mieści się w typie wyniku.

Dodatkowo, standard C99 definiuje wartość:

  • EILSEQ - napotkano błędną reprezentację wielobajtowego znaku.

Ponadto identyfikatory zaczynające się od dużej litery E, po której następuje cyfra lub jakaś duża litera są zarezerwowane dla implementacji do określania innych możliwych błędów.

Zobacz też

edytuj
perror (wypisywanie przyczyny błędu w czytelnej formie bazujące na errno)
strerror (zwracanie komunikatu błędu)