Varje programmeringsspråk har sin egen uppsättning av grammatiska regler , som bestämmer syntax strukturer och termer som kan visas i kod uttalanden . Hantera fel är en viktig del i planeringen , så att utvecklarna måste lära sig att hantera olika typer , inklusive syntax och semantiska fel . Syntaxfel uppstår på grund av felaktig användning av språkliga strukturer och semantiska fel uppstår på grund av logiska misstag . Dessa två typer av fel blir vanligtvis uppenbar vid olika faser i programmeringsprojekt . Programspråk
När programmerare lära sig att koden i vissa språk , lär de sig ordförråd och grammatik i dessa språk . När en programmerare skriver en kodrad där språket strukturerar är felaktiga , är detta ett syntaxfel . Följande exempel Java kod visar en giltig kodrad : int myNum = 5;
Följande förändring illustrerar ett syntaxfel : Int myNum = 5;
Java är skiftlägeskänsligt , så den felaktiga användning av en versal begynnelsebokstav för " int " variabel deklaration utgör ett syntaxfel . Det finns massor av möjliga syntaxfel , av vilka många är enkla skrivfel . Om en programmerare använder en integrerad utvecklingsmiljö , kommer han se syntaxfel markerade som han skriver kod .
Logic
Varje program omfattar logiska steg i bearbetningen . Programmerare diktera vad som ska hända när ett program exekverar använder kontrollstrukturer såsom loopar och villkorssatser . Semantiska fel är fel i dessa logiska strukturer . Till exempel visar följande JavaScript -kod en giltig loop : var räknare : var myArray = new Array ( 3 , 7 , 2 ) , för ( räknare = 0 ; räknare < myArray.length , räknare + + ) { document.write ( myArray [ räknare ] ) ; }
Denna kod itererar genom arrayen strukturen tills den når slutet . Slingan stannar när den når den sista delen eftersom det villkorliga testet kontrollerar att räknarvariabeln finns ingen större än arrayen längden minus ett , vilket är det sista indexet i strukturen . Följande förändrade versionen innehåller ett semantiskt fel : var räknare : var myArray = new Array ( 3 , 7 , 2 ) , för ( räknare = 0 ; räknare < = myArray.length , räknare + + ) { document.write ( myArray [ räknare ] ) ; }
Denna gång slingan , med en extra likhetstecken i den andra raden , kommer upprepa när räknaren är lika med arrayen längden , som är ute - med dess gränser . Detta kan orsaka skriptet att krascha när den utförs.
Execution
Beroende på det aktuella språket , vissa syntaxfel hindra ett program från att köras alls . Till exempel , när du använder Eclipse IDE för att skapa Java-program , kan utvecklare kompilera inte och köra sina program om de inte har någon syntax fel i dem . Detta skapar en arbetsmodell där utvecklare identifierar syntaxfel i ett tidigare skede . Detta gäller dock endast till syntaxfel , eftersom semantiska fel normalt inte hindra ett program från att sammanställa och köra .
Testa
Programmerare vanligtvis inte blir medveten om semantisk fel förrän testfasen av ett projekt . Ett program kan innehålla semantiska fel och ändå köra . Beroende på programmet och på testprocessen , kan ett semantiskt fel inte upptäcks förrän omfattande tester har utförts . Processerna för testning och felsökning ger utvecklare möjlighet att identifiera och åtgärda syntax och semantiska fel .