Mon exception ne veut pas afficher le message

Eléphant du PHP | 226 Messages

29 févr. 2012, 23:02

Bonjour, Lors que j'ai faite mon code. Sa affiche:

Code : Tout sélectionner

29 févirer à 15:45 et 3 seconde
Mes erreurs sont:

Code : Tout sélectionner

( ! ) Fatal error: Uncaught exception 'MonException' with message 'Votre password est incorrect !' in C:\wamp\www\MaPage.php on line 19 ( ! ) MonException: Votre password est incorrect ! in C:\wamp\www\MaPage.php on line 19
Mon code:
<?php
class MonException extends Exception
{
private final function getDate($r, $j, $h, $m, $s)
{

echo $j ,' ', $r ,' à ', $h ,':', $m ,' et ', $s ,' seconde' ;    
}

public function __construct($message=NULL, $r, $j, $h, $m, $s, $code=0)
{
parent::__construct($message, $code) ;
echo $this->getDate($r, $j, $h, $m, $s) ;
}
}

  $password = 'Mine';
  if('Diki' !== $password) {
    throw new MonException('Votre password est incorrect !', 'févirer', 29, 15, 45, 03);
  }
?>
Djun, L'inoubliable et l'incontournable

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 févr. 2012, 23:31

Bah en fait il ne fait que ce que tu lui demandes :

1. Tu fais un new MonException(), il appelle donc le constructeur de ta classe.
2. Ce constructeur affiche la date passée en paramètre (appel getDate()), mais pas d'autre message
3. Ensuite tu retournes l'exception générée (throw)
4. Et puisque une exception a été générée, et que celle-ci n'est pas gérée dans un bloc try/catch pour php c'est une erreur de programmation, il arrête donc le traitement avec un "Fatal error"
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 226 Messages

01 mars 2012, 00:59

Merci pour l'aide
Djun, L'inoubliable et l'incontournable