C/errno

Z Wikibooks, biblioteki wolnych podręczników.

< C(Przekierowano z C/ERANGE)

Spis treści

[edytuj] Deklaracja

#include <errno.h>

extern int errno;

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

[edytuj] Opis

errno to globalna zmienna 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.

[edytuj] Wartości

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.

[edytuj] Zobacz też

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