Avec PHP5, une nouvelle classe a fait son apparition pour ravir les fanatique du développement orienté objet, il s’agit de la classe : Exception.
Cette classe permet d’éviter une gestion des erreurs plus que moyenne avec les die().
Dans ce billet, nous allons voir comment utiliser ces exceptions, soulever une exception, afficher les exceptions et créer sa propre classe d’exception.
Une exception est un message d’erreur que peut générer un script suivant une condition.
Pour soulever une exception, nous allons créer un classe simple avec une condition qui généra une exception.
class User{
public function __construct($id){
if($id < 10){
// Si $id est inférieur à 10, on lève une exception.
throw new Exception("id doit être inférieur à 10");
}
}
}
Avec ce code la on lève une exception mais non formatée du type :
Fatal error: Uncaught exception 'Exception' with message 'id doit être inférieur à 10'
Ce qui n'est pas vraiment pratique, non ?
Comme en Java, il exite en PHP le block try catch qui permet d'attraper les exceptions qui sont soulevées lors de l'exécution du script.
Si on reprend la classe précédente :
try{ // On test le code
$user = new User(1); // On soulève une erreur
}catch(Exception $e){ // Si une erreur est soulevée
echo $e->getMessage(); // on affiche le message de l'erreur
}
Pratique non ? Vous avez vu que, dans l’exemple précédent, j’ai utiliser une méthode nommée getMessage qui permet d’afficher le message d’erreur.
Mais il existe 5 autres méthodes dans la classe Exception :
Utiliser la classe d’erreur de PHP est plutôt pratique mais créer ses propres exceptions peut être très pratique si vous développez une grosse application.
Pour créer votre classe personnelle d’erreur il faut faire comme cela :
class MyException extends Exception{
public function __construct($message){
parent::__construct($message); // On appelle le constructeur de la classe Exception
// On peut avoir accès à toutes les méthodes vu plus haut
}
}
Ensuite nous pouvons ajouter des styles au erreurs en ajoutant une méthode dans notre classe avec les méthodes de la classe parente.
Ce billet a (j’espère) permis de vous éclaircir les idées sur cette notion de gestion d’erreur avec PHP
« PHP et le design pattern Itérateur | Mootools, une librairie Javascript Orientée Objet »
Aucun trackback
2 commentaires
manit4c
1 octobre 2009 à 14:05
1Ah ben merci j’étais parti pour me créer ma propre classe pour gérer les erreurs etc.. j’ai eu la bonne idée de rechercher « classe + erreur + php» dans google ce qui m’a mené ici
.
.
La POO je découvre mais c’est bien foutu
powermick
18 février 2010 à 12:06
2pour une premiere approche , c’est parfait, bravo!!
Laisser un commentaire
Devenir Fan de Dator.fr
Nuage de tags
Sponsors
Blogoliste
Blogs Amis