Hva er feil i C ++

Hva er feil i C ++
Programmering i C ++ kan noen ganger være en utfordrende oppgave på grunn av muligheten for å møte forskjellige feil. Feilene i et program kan føre til at det krasjer, gir feil resultater eller oppfører seg uventet. Denne artikkelen vil gå over de vanligste formene for feil som holdes i C ++ -programmer.

Hva er feil i C++

I C ++ er feil av forskjellige typer, og de mest oppståtte feilene er:

  • Kompileringstidsfeil
  • Kjøretidsfeil
  • Link-Time-feil
  • Logiske feil

Vi vil diskutere disse feilene i detalj i neste avsnitt.

1: Compile -Time -feil - C++

Kompileringstidsfeil er den vanligste typen feil som oppstår under utførelsen av et C ++ -program. Disse typer feil oppstår på grunn av Syntaksproblemer, Feil bruk av språkfunksjoner, manglende semikoloner, feil bruk av operatører, feilstavede nøkkelord, ikke følger reglene for å erklære variabelenes navn, og mer. Disse typene feil forhindrer at koden blir samlet.

Denne typen feil kan enkelt finne ut i koden, og du kan fikse disse feilene for å samle C ++ -programmet ditt.

Følgende er en prøvekode, som genererer kompileringstidsfeil i C++.

#inkludere
ved hjelp av navneområdet STD;
int main ()

int x = 10 // uttalelse 1
cout << " " << x; //statement 2

I eksemplet ovenfor ble det generert en feil på grunn av manglende semikoloner på slutten av uttalelsen 1.

Produksjon

2: Kjøretidsfeil - C++

Kjøretidsfeil er en annen type feil som oppstår i C ++ -programmer under utførelse av programmet. De vanligste årsakene til Kjøretidsfeil er aritmetiske feil, segmenteringsfeil, ugyldig minnetilgang, nullpeker duereferanse eller uhåndterte unntak.

Å overvinne Kjøretidsfeil I C ++ er det bedre å teste koden grundig før du slipper den. Du kan også håndtere unntak på en riktig måte ved å bruke forskjellige teknikker som prøvekampblokker slik at koden din fungerer som den skal.

Følgende er et kodeeksempel som genererer Kjøretidsfeil i c++.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

int n = 11, div = 0;
div = n/0;
cout << "Final Output = "<< div;

Ovennevnte kode prøver å dele et heltall med null, som ikke er tillatt i C++. Dette vil resultere i en kjøretidsfeil.

Produksjon

3: Link -Time Feil - C++

Link-Time-feil I C ++ oppstår i koblingsfasen av kompilasjonsprosessen når linkeren ikke klarer å løse eksterne symboler. Disse symbolene er referanser til funksjoner eller data definert i andre kildefiler eller biblioteker, og linkeren må finne de sammensatte objektfilene som inneholder symboldefinisjonene. Hvis de nødvendige objektfilene eller bibliotekene ikke er inkludert, eller symboler som er definert, har forskjellige navn eller signaturer, vil linkeren generere Link-Time-feil.

Å overvinne Link-Time-feil, Utviklere må sørge for at alle nødvendige kildefiler og biblioteker er inkludert i kompilasjonsprosessen og at de er kompatible med hverandre. Et byggesystem som automatisk administrerer avhengigheter og lenker mot de riktige bibliotekene, kan også bidra til å forhindre feil på koblingstid.

#inkludere
ved hjelp av navneområdet STD;
tomrom ()

int x = 5;
cout << " "<< x;

I koden ovenfor, Hoved() funksjon brukes i stedet for hoved(), som genererer feil ved utgangen.

4: Logiske feil - C++

Logiske feil I C ++ oppstår når koden er syntaktisk korrekt, men gir uventede resultater på grunn av noen feil i programmererens logikk eller algoritme. Å oppdage denne typen feil er utfordrende for nybegynnere fordi koden samler seg normalt og produserer utdataene, men utgangen vil ikke samsvare med de tiltenkte resultatene.

For å unngå disse feilene, bør programmerere nøye gjennomgå koden og algoritmene og teste dem under forskjellige scenarier og innganger for å sikre at utgangen samsvarer med de tiltenkte resultatene. De kan også bruke testteknikker for å vurdere effektiviteten til programmene.

Følgende er en forekomst av et C ++ -program med logisk feil.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int x = 12;
int y = 7;
int ans = x / y;
cout << "Answer: " << ans <retur 0;

I koden ovenfor har programmereren tenkt å dele x av y og lagre resultatet i variabelen Ans. På grunn av en logisk feil antar de imidlertid feilaktig at svaret vil være 1, i stedet for 1.71418 På grunn av bruken av int variabel i stedet for å flyte med Ans.

Produksjon

Konklusjon

Feil er et unntak som må unngås i C ++ -kode for å utføre jevnt. I C ++ oppstår forskjellige typer feil i C ++ -kompilatoren, og utførelsen er ikke fullført. Å identifisere feilskjemaene er nødvendig for å rette opp i denne typen problemer. Denne artikkelen har vist deg fire typer feil i C ++ med eksempler på feil i koder.