Erange på C -språk

Erange på C -språk
Hvis det oppstår en feil når du kaller en funksjon, enten på grunn av inkompatibilitet eller datastørrelse, verdier utenfor rekkevidden, eller annen grunn, returnerer de fleste funksjoner levert av det omfattende biblioteket i C -språket en forhåndsdefinert verdi som forteller programmereren hva de skal gjøre hvis Det har oppstått en feil.

Dette er avgjørende siden det bestemmer stabiliteten, påliteligheten og robustheten til det endelige programmet som vi vil kompilere.

For eksempel returnerer Fopen () -funksjonen “0” hvis den ikke kunne åpne den spesifiserte filen riktig av en eller annen grunn av en eller annen grunn. I funksjoner som matematikk kan imidlertid en numerisk verdi på "0" representere et riktig resultat. Denne typen retur rapporterer bare en feil, men kan ikke spesifisere hvilken den er.

Standardbiblioteket for C -språket gir en rekke forhåndsdefinerte feilkoder i “Errno.h ”header.

Disse feilkodene er spesifikke og indikerer opprinnelsen eller årsaken til feilen. Derfor er de et veldig nyttig verktøy når det gjelder å legge til robusthet til programmet vårt.

I dette Linux hint artikkel, vi vil forklare Erange Feilkode som indikerer verdiene utenfor området. Vi vil se på årsakene som forårsaker denne feilen og hvordan du fikser dem. Deretter genererer vi denne feilen i kodefragmentene som vi vil følge med bilder som viser deneksjonen og mulige løsninger.

Feilkode erange: Definisjon og numerisk representasjon

#Define Erange 34

Feilkode erange beskrivelse

Feilkoden Erange representerer et unntak utenfor rekkevidden som vanligvis oppstår når en funksjon returnerer en verdi som er for stor til å overstige størrelsen på en lang. Denne feilkoden er representert i GCC med heltallverdien på 34.y som er forhåndsdefinert i “errno.h ”header.

Hvis en av disse feilene oppstår i en matematisk funksjon, returnerer funksjonen et uendelig resultat eller -inf. Og den numeriske representasjonen av Erange -feilkoden lagres automatisk i "Errno" -variabelen av ekstern int -type som er forhåndsdefinert i "Errno.h ”-fil.

"Errno" -variabelen lagrer den numeriske koden til den siste feilen. Hver gang vi henter verdien som er lagret i den, må vi rense innholdet.

Denne og alle andre standardbibliotekfeilkoder er definert i “Errno.h ”headerfil. For å bruke disse kodene, må vi sette inn denne overskriften i koden vår som følger:

#inkludere

En gang “Errno.H ”-overskrift er definert i koden vår, vi kan bruke denne ressursen til å spørre og klassifisere de forskjellige feilene som kan oppstå under prosessen.

Hvordan oppdage en feil utenom rekkevidde med "Errno" -variabelen og Erange-koden på C-språket

I dette eksemplet vil vi lage en feil utenom rekkevidde og vise hvordan du kan oppdage og klassifisere den ved å hente informasjonen fra den forhåndsdefinerte "Errno" -variabelen i "Errno.h ”header.

Vi genererer feilen ved å prøve å beregne logaritmen til 0 ved hjelp av log () -funksjonen.

Når vi prøver å få logaritmen til 0, returnerer denne funksjonen “-inf” som et resultat og genererer feilkoden-utenfor rekkevidde eller Erange.

Du kan se kodefragmentet der vi prøver å få logaritmen til null i det følgende. Resultatet som vises i kommandokonsollen:

#inkludere
#inkludere
#inkludere
tomrom ()

dobbel r;
r = log (0);
printf ("logaritmen til 0 er: %f \ n", r);

Følgende bilde som vi ser viser resultatet av utførelsen av dette fragmentet:

Følgende utdrag utfører den samme operasjonen, men skriver ut innholdet i "Errno" -variabelen til kommandokonsollen med feilnummeret som genereres når du prøver å få logaritmen til 0:

#inkludere
#inkludere
#inkludere
tomrom ()

dobbel r;
r = log (0);
printf ("logaritmen til 0 er: %d \ n", errno);

Som vi kan se i følgende figur, inneholder "Errno" -variabelen heltallet 34 som er definert i "Errno.h ”header for Erange Feil eller rekkefeil:

Som vi har sett i dette eksemplet, begge deler Erange og enhver annen feilkode som er definert i “Errno.H ”-overskrift kan spørres via“ Errno ”-variabelen.

Det er viktig å rydde opp i denne variabelen så snart vi henter dataene fra den, da dette kan føre til forvirring eller feil feiltolkninger. For å gjøre dette, setter vi det til null som vist i neste kodelinje:

errno = 0;

Konklusjon

I dette Linux hint Artikkel om C -språket lærte vi betydningen av Erange Feilkode som er en del av standard bibliotekskodesett som er definert i “Errno.h ”header. Vi viste deg også hvorfor denne feilen er generert, dens numeriske representasjon og "Errno" -variabelen som brukes til å behandle og lagre denne koden. Vi håper at denne artikkelen har vært nyttig. For flere artikler om C -språket, bruk søkemotoren på nettstedet vårt.