Fatal error: Uncaught thrown in…

Quand vous voulez utiliser les exceptions, n’oubliez pas que quand vous la lancez (throw), il faut aussi la rattraper (catch). Pensez BASE-BALL !
BaseBall

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 ! ;-)

Laisser un commentaire