2010-04-08 10 views
1

je tente de lancer une exception en utilisant php 5.3.2 et il me donne l'erreur suivante:php 5.3.2 ne pas lancer des exceptions

Parse error: syntax error, T_THROW

inattendu Je suis tenter de lancer une exception de la façon suivante:

throw new Exception('Property ' . $name . ' doesn\'t exist in class Index', ''); 

Edit: J'ai aussi essayé

throw new Exception('Property ' . $name . ' doesn\'t exist in class Index'); 

il d Je ne change pas l'erreur que je recevais.

La méthode complète:

public function __get($name) 
    { 
     if(property_exists($this, $name) 
      throw new Exception('Property ' . $name . ' doesn\'t exist in class Index'); 
     return $this->$name; 
    } 
+0

Pouvez-vous montrer le code avant et après le lancer? Vous allez vous fait –

Répondre

4

vérifier votre code php pour bloopers, parfois je manque de un ';' ce qui peut provoquer des erreurs.

également essayer d'écrire l'instruction if formellement, en ajoutant entre parenthèses. Je sais que ça ne devrait pas faire de différence mais qui sait avec la programmation!

+0

fils-of-a-gun, par la méthode et je l'ai laissé réaliser un .. merci parenthèse. – tipu

+0

hehe, pas de problème, Si j'avais 1 £ pour chaque fois que cela m'arrivait, je serais riche! – studioromeo

0

Il vous manque la parenthèse fermante de votre if() la ligne et ainsi PHP Sées ce

if(property_exists($this, $name) throw new Exception(...); 

qui n'est pas une syntaxe valide. La place a) à la fin de votre if() ligne:

if(property_exists($this, $name)) 

Edit: Je déteste quand je rate les réponses ci-dessous une réponse. :(