Exception

Résolu
medanass Messages postés 26 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 10 mai 2013 - 20 sept. 2011 à 16:49
 Utilisateur anonyme - 20 sept. 2011 à 17:42
Bonsoir
tout le monde mon problème est simple je veut catcher une exception: "Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-5.3.7.0\CertMarwan\rsslib.php on line 35" et afficher a sa place un message comme :"blabla " ,par exemple, Merci infiniment.

4 réponses

inwebo Messages postés 381 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
20 sept. 2011 à 17:38
Bonjour,

Pour faire simple, lis le morceau de code en langage courant :

J'essaye {
      de faire un traitement qui soulève (voir throw) une exception
      en cas d'anomalie
}
Sinon( nouvelle Excpetion) {
   j’avertis l'utilisateur
}


C'est exactement le même principe qu'en Java ! Par contre si tu parle du message d'erreur

Notice: Trying to get property of non-object] in C:\Program Files\EasyPHP-5.3.7.0\CertMarwan\rsslib.php on line 35


Tu n'as pas instancié ton objet.

Finalement en ce qui concerne
 $test = new Foo();


C'est juste un exemple d'utilisation, voir

Foo/bar (en) : nom générique donné communément à deux objets qui vont ensemble. Quand on voit apparaître un foo dans un exemple, on sait qu'il faut chercher le bar un peu plus loin. Viendrait du jargon militaire FUBAR (Fucked Up Beyond All Recognition). Souvent traduit par machin/truc. On peut utiliser foo tout seul, notamment comme identificateur dans un programme, comme on utiliserait machin tout seul.

Wikipedia

________________________________________
( $toBe || !$toBe ) = $this->Question();
3
Utilisateur anonyme
20 sept. 2011 à 17:42
"c'est quoi le New foo()? !!"
la classe Foo c'est la classe susceptible de lancer une exception dans l'exemple... pas difficile à déduire. class Foo, int foo, string foo, print("foo"), function foo()... Tu n'a jamais vu ça? C'est un dénominateur qu'on utilise souvent dans les exemples sur internet.


"est ce que j doit créer une classe php"
Tu peux crée des classe dérivée d'exception je pense, en tout cas dans d'autres langages ça ce fais. Et sur la question


"et après l'intégré dans ma page ou bien dans la même page"
je te conseille d'allé chercher un cours sur la programmation php, je suis sure qu'il y a tout ce qu'il faut et même plus sur internet à propos de php, des exceptions, et de la POO... parce que là, inwebo t'a donner une réponse plus que satisfaisante, mais visiblement tu est dans les choux ^^

Romain
3
inwebo Messages postés 381 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
20 sept. 2011 à 16:59
Bonjour,

Un petit tour sur la doc : try catch. Voir également étendre la class Exception. Ou alors à la manière des vandales.

try {
    $test = new Foo();
}
catch (Exception $e) {
    echo 'Caught exception: blabla'."\n";
}


________________________________________
( $toBe || !$toBe ) = $this->Question();
0
medanass Messages postés 26 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 10 mai 2013
20 sept. 2011 à 17:10
Merci déjà ,j'ai déjà vue ce code mais est ce que j doit créer une classe php et après l’intégré dans ma page ou bien dans la même page et c'est quoi le New foo()? !!, merci infiniment .
0