mardi 3 mars 2015

Les types d'erreurs PHP

02:14

Comme dans tout langage de programmation, PHP possède toute une structure permettant de gérer les erreurs, qui peuvent être de différents types :
***Erreur de syntaxe lors de la compilation du programme
***Erreur d’exécution lors de l’exécution du programme
***Erreur de données : donnée inattendue, incompatible avec les routines développées pour son traitement (lettre dans un nombre représentant une quantité, …)
Normalement, quand un script PHP rencontre une erreur :
***Un message s’affiche indiquant (en anglais bien sur) le degré de gravité de l’erreur, la cause de l'erreur, le nom du fichier de script la ligne du script où l’erreur s’est produite.
***Selon la gravité de l’erreur, l'exécution du script se termine à l’endroit de l’erreur, ou simplement une ligne du script ne s’exécute pas, ou toutes les lignes peuvent néanmoins s’exécuter
Si ce comportement est acceptable pendant la phase de développement, une fois en production ce comportement n’est pas acceptable :
***Le message doit être autant que possible dans la langue de l’utilisateur.
***Outre cela, l’utilisateur, qui n’a d’une part assez souvent aucune notion de programmation, d’autre part n’a pas accès au script, n’a que faire du message d’erreur tel qu’il est délivré par PHP (nom de fichier, N° de ligne…).
***Il sera donc nécessaire d’adapter le message éventuel à l’environnement, et aussi en général d’enregistrer l’erreur dans un fichier « de log » permettant au responsable du site d’apporter les corrections éventuelles à posteriori pour éviter qu’elle ne se reproduise.

Il y a trois types d'erreurs dans PHP. Ces erreurs peuvent être générées au chargement de la page, au moment du décodage ou à l’exécution:
1-Notices: Erreurs non critiques, par défaut non affichées. Toutes les instructions ont néanmoins pu être exécutées
****************************************Code****************************************
<?php
$message_2 = "c'est la rose";
$message = $message_1.$message_2 ;
echo $message ;
?>
****************************************Code****************************************
****************************************Résultat***********************************
Notice: Undefined variable: message_1 in /home/exercises.php on line 3
c'est la rose
****************************************Résultat***********************************Dans ce cas $message_1 n'a pas été déclaré.
2-Warnings: Une instruction n'a pu être correctement exécutée (ex:fichier manquant...), néanmoins le script peut continuer son exécution.
****************************************Code****************************************
<?php
$myString = "L'important, c'est la rose";
// Une erreur est générée car join attend un tableau en second argument
join('', $myString);
echo "<br/>-- end --<br/>";
?>
****************************************Code****************************************
****************************************Résultat***********************************
Warning: join() [function.join]: Bad arguments. in /home/exercises.php on line 4

-- end --
****************************************Résultat***********************************
3-Fatal errors: Erreurs fatales : le script s'arrète : erreur de syntaxe...
****************************************Code****************************************
<?php
echo "-- begin --";
// Appel d'une fonction non existante
// qui va générer une E_ERROR (fatale)
someFunction();
// La ligne suivante ne sera jamais exécutée
echo "-- end --";
function somefonction()
{
echo "Ce message est à l'intérieur de la fonction";
}
?>
****************************************Code****************************************
****************************************Résultat***********************************
-- begin --
Fatal error: Call to undefined function: somefunction() in /home/exercises.php on line 5
****************************************Résultat***********************************

0 commentaires:

Enregistrer un commentaire

 

© 2015 Galsen Coder's, by JokerSoft . Tous Droits Résèrvés.

Back To Top