errno(3)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

errno(3) - Linux manual page

Namn

errno - Global variabel som anger felkoder vid systemanrop och bibliotekskall

Synopsis

#include <errno.h>

Beskrivning

errno är en global variabel som används av många systemanrop och bibliotekskall i C-programmering för att indikera vilket fel som inträffade. Dess värde ändras endast när ett fel inträffar; framgångsrika anrop lämnar värdet oförändrat.

Varje fel representeras av ett unikt heltal, som kan översättas till ett läsbart meddelande med hjälp av funktionerna strerror(3) eller perror(3).

Värdet av errno är endast meningsfullt direkt efter att ett systemanrop eller en funktion misslyckats. Det kan inte användas för att indikera ett fel i sig, utan måste tolkas i samband med returnerade värden från anropet (exempelvis -1 eller NULL).

Felkoder

De symboliska konstanterna för felnummer definieras i filen <errno.h>. Exempel på vanliga fel är:

  • EACCES: Åtkomst nekad.
  • EBADF: Ogiltig filbeskrivare.
  • EEXIST: Filen finns redan.
  • ENOMEM: Otillräckligt minne.

Se manualsidans avsnitt om felkoder för en komplett lista över fel.

Exempel

#include <stdio.h>
#include <errno.h>
#include <string.h>

int main() {
    FILE *file = fopen("nonexistent.txt", "r");
    if (file == NULL) {
        printf("Fel: %s\n", strerror(errno));
        return 1;
    }
    fclose(file);
    return 0;
}

Ovanstående program försöker öppna en fil som inte existerar. När fopen(3) misslyckas sätts errno till en felkod (t.ex. ENOENT) som sedan översätts till ett läsbart felmeddelande med strerror(3).

Se även

Kolofon

Denna sida är en översättning av Linux manualens errno(3) från ⟨https://man7.org/linux/man-pages/man3/errno.3.html⟩ och är del av manualsidornas projekt. Felrapporter och uppdateringar kan skickas till ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.


Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man3/errno.3.html
PHP


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC Service som har sponsrat Linux.se med webbhotell.