Logikfel
Ett logiskt fel (eller logiskt fel) är ett misstag i ett program källkod som leder till felaktigt eller oväntat beteende. Det är en typ av runtime error som helt enkelt kan ge fel produktion eller kan få ett program att krascha medan det körs.
Många olika typer av programmeringsfel kan orsaka logiska fel. Till exempel kan tilldela ett värde till fel variabel orsaka en serie oväntade programfel. Att multiplicera två nummer istället för att lägga till dem kan också ge oönskade resultat. Även små stavfel som inte producerar syntax fel kan orsaka logiska fel. I PHP kod exempel nedan, if kan orsaka ett logikfel eftersom det enda likhetstecknet (=) bör vara ett dubbelt lika tecken (==).
Felaktig: om ($ i = 1) {...}
Korrekt: om ($ i == 1) {...}
I PHP, "=="betyder" är lika med, medan "="betyder" blir. "Därför är det felaktiga if uttalande returnerar alltid SANT, eftersom tilldelning 1 till variabeln $ i returnerar ett SANT värde. I rätt kod, if uttalande returnerar bara SANT om $ i är lika med 1. Eftersom syntaxen för den felaktiga koden är acceptabel kommer det inte att ge ett syntaxfel och koden kommer att kompileras framgångsrikt. Logikfelet kanske bara märks under runtime. Eftersom logikfel ofta är dolda i källkoden är de vanligtvis svårare att hitta och felsöka än syntaxfel.