Gestion des exceptions en PHP
Une exception est une erreur logique/système survenue lors de l’exécution normale d’un script. L’exception peut être levée par le système ou par le programme lui-même. Si l’exception ne peut pas être gérée, la fonction appelante doit informer le système.
L’utilisation du bloc Try{…} Catch{…}
PHP5 introduit le bloc Try{…} Catch{…} pour intercepter les exceptions. Voir l’exemple ci-dessous.
<?php
try {
division(1,0);
}
catch(Exception $e) {
echo "Message : " . $e->getMessage();
echo "Code : " . $e->getCode();
}
function division($a, $b) {
if($b == 0) {
throw new Exception("Erreur division par zéro", -1);
}else{
return $a/$b;
}
}
?>
Dans l’exemple ci-dessus, la méthode division() est appelée dans le bloc try{}. Le bloc try{} est la zone dans laquelle vous mettez votre code susceptible de générer une exception. En dessous du bloc try{} se trouve le bloc catch(){}. Le bloc catch attend un objet de type Exception en tant que paramètre. Dans le bloc catch(){}, vous mettez votre logique pour résoudre le problème ou l’erreur.
Dans la fonction division(), nous soulevons une exception à l’aide du mot clé « throw ». L’instruction qui suit « throw » est la syntaxe de création d’un nouvel objet de type Exception. La classe « Exception » accepte deux paramètres. Le premier paramètre est le message d’erreur et le deuxième paramètre est le code d’erreur que vous souhaitez affecter à cette erreur.





