Erreur logique
Une erreur logique (ou erreur de logique) est une erreur dans le code source d’un programme qui entraîne un comportement incorrect ou inattendu. Il s’agit d’un type d’erreur d’exécution qui peut simplement produire une sortie incorrecte ou entraîner l’arrêt brutal d’un programme pendant son exécution.
De nombreux types d’erreurs de programmation peuvent provoquer des erreurs logiques. Par exemple, affecter une valeur à la mauvaise variable peut entraîner une série d’erreurs inattendues dans le programme. Multiplier deux nombres au lieu de les additionner peut également produire des résultats indésirables. Même de petites fautes de frappe qui ne produisent pas d’erreurs de syntaxe peuvent provoquer des erreurs logiques. Dans l’exemple de code PHP ci-dessous, l’instruction if peut provoquer une erreur logique, car le signe égal simple (=) devrait être un double signe égal (==).
Incorrect : if ($i=1) { ... }
Correct : if ($i==1) { ... }
En PHP, "==" signifie "est égal à", tandis que "=" signifie "devient". Par conséquent, l’instruction if incorrecte renvoie toujours TRUE, car l’affectation de 1 à la variable $i renvoie une valeur TRUE. Dans le code correct, l’instruction if renvoie TRUE uniquement si $i est égal à 1. Cependant, comme la syntaxe du code incorrect est acceptable, il ne produira pas d’erreur de syntaxe et le code sera compilé avec succès. L’erreur logique peut ne passer inaperçue qu’au moment de l’exécution. Comme les erreurs logiques sont souvent dissimulées dans le code source, elles sont généralement plus difficiles à trouver et à déboguer que les erreurs de syntaxe.
Testez vos connaissances