Problème class "Exception"

Rechercher

Problème class "Exception"

Par cidou  -  4 reponses  -  Le 16/06/2012 00:42  -  Editer  - 

bonsoir;

Je viens exposer mon problème qui est celui de la classe prédéfinie"Exception".

chaque fois que je veux executer une instance de cette classe le message suivant apparait:

"Fatal error: Call to undefined function getMessage() in C:\xampplite\htdocs\ss\es.php on line 23"

Il est important de rappeler que la version de PHP utilisé est la 5, sous XAMMPLITE.

Le meme problème c'est produit avec Wamp server.

Merci d'avance pour toutes aides.

Cidou.

 

Réponses apportées à cette discussion

Par Cyrano  -  Le 16/06/2012 00:45  -  Haut de page  - 

Salut,

ce serait une bonne idée de montrer le code correspondant.

Je soupçonne bien quelque chose, mais sans voir le code, impossible d'être sûr.

 
Par cidou  -  Le 16/06/2012 01:13  -  Haut de page  - 

Bonsoir;

Merci pour votre réponse; cependant je vous signale que c'est un simple code d'essai:

 
Par Cyrano  -  Le 16/06/2012 19:22  -  Haut de page  - 

Je ne vois pas trop à part peut-être la concaténation et un détail de casse...

L'opérateur de concaténation est le point et non la virgule. Dans le cas d'un echo, ça fonctionne mais ce n'est pas habituel.

la classe Exception s'écrit avec un « E » et non un « e », ça a son importance si le système estsensible à lacasse et si on utilise pas la bonne version, la méthode ne sera pas trouvée parce que la classe ne le sera pas non plus.

Un détail sur dernier echo() dans le catch : on ne fait pas echo(objet->__toString()) : « __toString() » est une méthode « magique » qui va retourner ce qui a été défini dedans sous la forme d'une chaine de caractères. On écrira donc directement echo(objet), la méthode __toString sera alors automatiquement appelée... si elle a été définie bien entendu, sinon, ça retourera un message d'erreur.

Donc en fin de compte, le code revu et corrigé donnerait ceci :

<?php
$a = 100;
$b = 0;
try
{
    if($b==0)
    {
        throw new exception("Division par 0",7);
    }
    else
    {
        echo "Résultat de : $a / $b = ",$a/$b;
    }
}
catch(Exception $except)
{
    echo "Message d'erreur : ". $except->getMessage() ."<hr />";
    echo "Nom du fichier : ". $except>getFile() ."<hr />";
    echo "Numéro de ligne : ". $except>getLine() ."<hr />";
    echo "Code d'erreur : ". $except>getCode() ."<hr />";
    echo "__toString : ". $except ."<hr />";
}
echo "FIN";

 

 

 
Par cidou  -  Le 18/06/2012 21:21  -  Haut de page  - 

bonsoir;

Effectivement c'est un problème dû à la casse; j'ai remplacer "exception" par "Exception" ainsi que la variable $except par $e, et ça fonctionner.

Merci pour le conseil.

Cidou.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |