Hvordan håndtere feil på C -språk
Det er vanligvis to typer feil som finnes i C -programmering, som er som følger:
Hva er syntaksfeil
Syntaksfeil er forårsaket av feil syntaks i koden, og kompilatoren kan lett oppdage dem under kompileringsprosessen. For å unngå syntaksfeil, er det bedre å forstå de grunnleggende syntaksreglene for C -programmering.
Hva er kjøretidsfeil
Kjøretidsfeil oppstå når programmet utføres og kan forårsake forskjellige problemer som minnelekkasjer, segmenteringsfeil og feil bruk av pekere.
Hvordan håndtere feil
For å håndtere disse feilene, må vi forstå hovedårsaken bak forekomsten av denne typen feil, slik at vi deretter kan adressere dem deretter.
I C kan man bruke integrerte feilkorreksjonsrutiner for å håndtere feil. C-språk gir flere innebygde funksjoner som kan bidra til å identifisere og fikse feil. Følgende er listen over håndteringsfunksjoner du kan bruke i C -programmering:
1: Bruke Perror () -funksjon
Perror () er en innebygd funksjon i C-programmering som brukes til å skrive ut en feilmelding på standard feilutgang (STDERR) basert på feilkoden satt av en tidligere funksjonssamtale som har mislyktes. Hvis det er en streng og ikke er null, er den skrevet før en feiltekst. For eksempel, hvis du jobber med filer og en filoperasjon mislykkes, kan du bruke Perror () Funksjon for å skrive ut en feilmelding på standardfeilutgangen:
#inkludereOvennevnte C definerer Main () -funksjonen som prøver å åpne en ikke-eksisterende fil i lesemodus ved hjelp av fopen () funksjon. fopen () gir null og skaper den globale errno -verdien fordi filen mangler. Programmet skriver deretter ut feilnummeret ved hjelp av errno og en feilmelding ved hjelp av Perror ().
Produksjon
2: Bruke strerror () -funksjon
De strekk () Funksjon er en innebygd funksjon for feilhåndtering som brukes til å hente en menneskelig lesbar feilmelding for en gitt feilkode. Errno Global -variabelen brukes vanligvis som feilkodeinngangen til strekk () funksjon. Når en feil oppstår under utførelsen av et program, settes feilkoden vanligvis til en spesifikk verdi av systemet eller bibliotekfunksjonen som oppdaget feilen. Denne feilkoden kan deretter brukes til å slå opp den tilsvarende feilmeldingen ved å bruke strekk () funksjon.
De strekk () Funksjon leverer en null-terminert streng som inneholder en advarselsmelding for den spesifiserte feilkoden. Denne feilmeldingen kan skrives ut på konsollen eller vises til brukeren for å gi informasjon om årsaken til feilen.
#inkludereOvennevnte kode definerer Main () -funksjonen som prøver å åpne en ikke-eksisterende fil i “V” -modus ved bruk av fopen () funksjon. fopen () sendes ut null og oppdaterer den globale errno -indikatoren fordi filen som ble åpnet ikke er til stede. Programmet skriver deretter ut feilmeldingen ved hjelp av strekk () Funksjon for å konvertere feilkoden i errno til en menneskelig lesbar feilmelding.
Produksjon
3: Bruke Exit () -funksjon
De exit() Funksjon er en annen nyttig måte å brukes til feilhåndtering som avslutter programmet umiddelbart med en spesifisert exit -status. Når programmet ikke kan fortsette på grunn av en dødelig feil eller en eksepsjonell situasjon, avslutter det det.
Exit () -metoden godtar et heltallinngang som representerer programmets utgangstilstand. En verdi på null indikerer en akseptabel avslutning, men ikke-nullverdier indikerer en feil eller avvikende avslutning.
#inkludereOvennevnte program åpner en fil som heter "ingen fil.tekst" I 'Z' -modus. Hvis filen ikke blir funnet, vil den skrive ut en feilmelding og avslutte programmet ved hjelp av exit() funksjon med en statuskode på 1.
Produksjon
4: Bruke påstand () -funksjon
De hevde () Funksjon er et nyttig feilsøkingsverktøy for feilhåndtering under programutviklingen. Det gjør at utviklere kan fange og håndtere logiske eller programmeringsfeil som kan føre til udefinert atferd eller programkrasj.
Når du bruker hevde () funksjon, et logisk uttrykk blir gitt som et argument. Ingenting skjer hvis uttalelsen evaluerer til sant, og programmet fortsetter som normalt. Imidlertid, hvis uttrykket evaluerer til usant, hevde () Funksjon skriver ut en feilmelding til konsollen og avslutter programmet umiddelbart.
#inkludereI koden ovenfor brukes påståelsesfunksjonen for å sjekke om verdien av a er lik 10. Hvis A ikke er lik 10, vil programmet stoppe og vise en feilmelding. Hvis A er lik 10, vil programmet fortsette å kjøre normalt og skrive ut verdien av x.
Produksjon
Konklusjon
C gir flere funksjoner for feilhåndtering som programmerere kan bruke for å forbedre påliteligheten og robustheten til programmene sine. Disse funksjonene inkluderer Perror (), strerror (), exit () og hevde (). Når du bruker disse funksjonene, er det viktig å følge beste praksis for feilhåndtering, for eksempel å sjekke returverdier fra funksjoner og håndtere feil på en måte som ikke går ut over sikkerheten eller stabiliteten til programmet.