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.