Précédent Suivant

Gestion des erreurs

Introduction

PHP constitue un environnement très pratique pour le débogage et la gestion des erreurs. Il permet de détecter les erreurs et d’y réagir tout en laissant la latitude quant à la façon dont les messages d’erreurs sont affichés.

Les types d’erreurs PHP

Trois grands groupes d’erreurs de programmation peuvent être distingués :

erreur de syntaxe ou de compilation, survenant lorsque la syntaxe du code est erronée.

erreur de sémantique ou d’exécution, qui se produit lorsque le programme exécute un code dont la syntaxe est correcte ;

erreur logique qui ne provoque pas l’apparition d’un message d’erreur mais qui a pour résultat que le programme effectue autre chose que ce qui était souhaité par le programmeur.

Il y a aussi les erreurs d’environnement qui ne sont pas dues à une faute du programmeur mais à un ensemble de facteurs d’environnement sur lequel le programmeur n’a aucun contrôle.

Erreur de syntaxe

Une erreur de syntaxe se produit lors de l’analyse du code, avant son exécution.

L’analyseur indique le numéro de ligne où s’est produite l’erreur.

Exemple :

1 <?php
2      $var = "test d'erreur"
3      echo $var;
4 ?>

 

il manque un ";" de fin d’instruction

L’analyseur détecte une erreur à la ligne 3 car il ne doit pas y trouver de nouvelle instruction, le ";" de fin d’instruction étant absent de la ligne 2

Erreur de sémantique

Une erreur sémantique n’est pas détectée par l’analyseur car sa syntaxe est correcte : elle ne survient que lorsque PHP tente d’exécuter la ligne.

Exemple :

<?php
      
fopen("fichier.txt");
?>

La ligne ne présente pas d’erreur de syntaxe, mais la fonction fopen()nécessite deux paramètres

Une erreur de sémantique n’est pas toujours facilement identifiable.

Erreur logique

L’erreur logique est délicate à identifier car elle correspond à du code parfait par sa syntaxe et sa sémantique : elle ne produit donc pas de message d’erreur. Dans la plupart des cas, elle aboutit à un résultat qui n’est pas celui attendu.

Erreur d’environnement

Même dans le cas où le code est dépourvu de tout bogue, il n’est pas garanti qu’il s’exécutera toujours sans erreur. En effet tout programmeur doit parfois s’appuyer sur des éléments qu’il ne contrôle pas, comme l’échec d’ouverture d’une base de données, l’impossibilité d’ouvrir un fichier include

Il est donc important de s’assurer de la présence d’une gestion d’erreur adaptée à une quelconque erreur d’environnement.

Les messages d’erreur PHP

Les messages d’erreurs PHP sont particulièrement descriptifs. Ils correspondent tous à la forme suivante :

Niveau_erreur : message_erreur in Nom_fichier on line #
Précédent Suivant