Types d’erreurs en programmation

La programmation est une activité complexe où il est normal que des erreurs se produisent. Certaines erreurs peuvent même ne pas être remarquées par vous en tant que telles, par exemple des erreurs de syntaxe où peut-être seule une faute de frappe est la raison.

Erreurs au moment de la compilation (temps de compilation)

Les erreurs signalées par le compilateur sont généralement très faciles à corriger. Selon le langage de programmation et l’erreur dont il s’agit, le compilateur fournit généralement même le numéro de ligne dans laquelle se trouve l’erreur et une courte description qui peut également être utile. « Peut-être » car les messages d’erreur peuvent parfois avoir très peu de sens.

Les compilateurs sont conçus pour passer par une phase d’analyse en plusieurs étapes. Selon la phase dans laquelle une erreur se produit, une distinction peut être faite entre les erreurs lexicales, syntaxiques ou sémantiques. Cependant, cette distinction n’est pas pertinente pour vous en tant que programmeur.

Erreurs d’exécution – Bugs

Les erreurs qui se produisent lors de l’exécution sont beaucoup plus ennuyeuses que les erreurs de compilation. Ces erreurs sont mieux connues sous le nom de « bugs ». Le code suivant illustre une erreur d’exécution potentielle.

Exemple de division par zéro

int DoExampleCalculation(int parameter1, int parameter2)
{
// this is an example calculation
// may cause a divide by zero runtime error
return parameter1 / parameter2;
}

Si cette fonction est appelée et que 0 est passé comme deuxième paramètre, une division par zéro se produit et le comportement du programme est indéfini dans ce cas (il va probablement planter). L’erreur dans cet exemple est très facile à trouver, surtout lorsqu’elle se produit lors du débogage. D’autre part, les erreurs sporadiques qui ne se produisent pas à chaque exécution du programme sont beaucoup plus difficiles à trouver. Cependant, de telles erreurs ne se glissent généralement qu’avec l’utilisation de techniques avancées telles que le multithreading.

Erreurs dans la pratique de la programmation

En pratique, il est très rare que les erreurs de compilation deviennent un problème majeur. Les erreurs d’exécution, en revanche, peuvent être catastrophiques, surtout si elles ne se produisent que lorsque l’utilisateur ou le client utilise le programme de manière productive. Il est donc très important dans le développement de logiciels professionnels de tester systématiquement les programmes écrits pour les erreurs d’exécution.