Quand vous voulez utiliser les exceptions, n’oubliez pas que quand vous la lancez (throw), il faut aussi la rattraper (catch). Pensez BASE-BALL !
Exemple :
1 2 3 4 5 6 7 8 9 10 11 | class MonException extends Exception{} class MaString { public function __construct($string){ if(!is_string($string)){ throw MonException('oops'); } } } $test = new MaString(2); |
Vous voyez l’erreur là ? C’est simple, vous ne passez pas de chaîne de caractères (string) à votre constructeur, il lance donc l’exception qui n’est jamais rattrapée.
Ainsi, il faudrait faire comme ceci :
1 2 3 4 5 | try{ $test = new MaString(2); }catch(MonException $e){ // Faire quelque chose… ou pas. } |
Paf ! C’est rattrapé ! Plus d’erreurs et vous avez appris en partie à utiliser les exceptions !