Hver programmeringsspråk har sitt eget sett av grammatiske regler , bestemme syntaksen strukturer og begreper som kan vises i kode uttalelser. Håndtere feil er et viktig element i programmering, slik at utviklere trenger å lære å håndtere ulike typer, inkludert syntaks og semantiske feil . Syntaksfeil oppstår på grunn av feil bruk av språklige strukturer , og semantiske feil oppstår på grunn av logiske feil. Disse to typer feil blir vanligvis synlig ved ulike faser i programmering prosjekter . Programmeringsspråk
Når programmerere lære å kode i bestemte språk , de lærer vokabular og grammatikk innenfor disse språkene. Når en programmerer skriver en linje med kode i der språket strukturer er uriktig , er dette en syntaks feilen. Følgende eksempel Java-kode demonstrerer en gyldig kodelinje : int myNum 5 = ;
Følgende endring illustrerer en syntaksfeil : Int myNum 5 = ;
Java er case sensitive , slik at feil bruk av en øvre sak forbokstav for " int " variabeldeklarasjon utgjør en syntaksfeil . Det er mange mulige syntaksfeil , hvorav mange er enkle skrivefeil . Hvis en programmerer bruker en Integrated Development Environment , vil han se syntaksfeil fremhevet som han skriver kode .
Logic
Hvert program innebærer logiske trinn av behandlingen . Programmerere diktere hva som vil skje når et program utfører ved hjelp av kontrollstrukturer som sløyfer og betinget utsagn . Semantiske feil er feil i disse logiske strukturer. For eksempel viser følgende JavaScript-kode en gyldig sløyfe : var teller : var myArray = new Array ( 3 , 7 , 2); for ( teller = 0; teller < myArray.length ; teller + + ) { document.write ( myArray [ teller ] ) ; }
Denne koden gjentas gjennom array struktur til den når slutten. Sløyfen stopper når den når det endelige element fordi betingelsestesten sjekker at motvariabel ikke større enn matrisen lengde minus en, som er den endelige indeksen i strukturen. Følgende endrede versjonen inkluderer en semantisk feil : var teller : var myArray = new Array ( 3 , 7 , 2); for ( teller = 0; teller < = myArray.length ; teller + + ) { document.write ( myArray [ teller ] ) ;}
Denne gangen loop, med en ekstra likhetstegn i den andre linjen , vil iterere når telleren er lik matrisen lengde , som er ute - med sine grenser. Dette kan føre til at skriptet til å krasje når den utfører .
Execution
Avhengig av det aktuelle språket , noen syntaksfeil hindre et program fra å kjøre i det hele tatt . For eksempel , når du bruker Eclipse IDE for å lage Java-programmer , kan utviklere ikke kompilere og kjøre sine applikasjoner, med mindre de har ingen syntaksfeil i dem . Dette skaper en fungerende modell der utviklere identifisere syntaksfeil på et tidligere stadium . Dette gjelder imidlertid bare for syntaksfeil , som semantiske feil vil normalt ikke hindre et program fra å kompilere og kjøre .
Testing
programmerere vanligvis ikke blir klar av semantisk feilene før testfasen av et prosjekt . Et program kan inneholde semantiske feil, og likevel utføre . Avhengig av programmet og om testprosessen , kan en semantisk feil gå ubemerket inntil omfattende tester er utført . Prosessene for testing og debugging gi utviklere muligheten til å identifisere og korrigere syntaks og semantiske feil .