Logikfehler
Ein Logikfehler (oder logischer Fehler) ist ein Fehler im Quellcode eines Programms, der zu einem falschen oder unerwarteten Verhalten führt. Er ist eine Art Laufzeitfehler, der einfach die falsche Ausgabe erzeugen oder dazu führen kann, dass ein Programm während der Ausführung abstürzt.
Viele verschiedene Arten von Programmierfehlern können Logikfehler verursachen. Wenn beispielsweise einer falschen Variablen ein Wert zugewiesen wird, kann dies eine Reihe unerwarteter Programmfehler verursachen. Auch die Multiplikation zweier Zahlen anstelle ihrer Addition kann zu unerwünschten Ergebnissen führen. Selbst kleine Tippfehler, die keine Syntaxfehler verursachen, können Logikfehler auslösen. Im folgenden PHP-Codebeispiel kann die if-Anweisung einen Logikfehler verursachen, da das einzelne Gleichheitszeichen (=) ein doppeltes Gleichheitszeichen (==) sein sollte.
Falsch: if ($i=1) { ... }
Richtig: if ($i==1) { ... }
In PHP bedeutet „==“ „ist gleich“, während „=“ „wird zu“ bedeutet. Daher gibt die falsche if-Anweisung immer TRUE zurück, da die Zuweisung von 1 an die Variable $i einen TRUE-Wert zurückgibt. Im richtigen Code gibt die if-Anweisung nur dann TRUE zurück, wenn $i gleich 1 ist. Da die Syntax des falschen Codes jedoch zulässig ist, verursacht er keinen Syntaxfehler und der Code wird erfolgreich kompiliert. Der Logikfehler wird möglicherweise erst während der Laufzeit bemerkt. Da Logikfehler oft im Quellcode verborgen sind, sind sie in der Regel schwieriger zu finden und zu debuggen als Syntaxfehler.
Testen Sie Ihr Wissen