Php 5.3.2 Não jogando exceções
Pergunta
Estou tentando fazer uma exceção usando o Php 5.3.2 e está me dando o seguinte erro:
Erro de análise: erro de sintaxe, T_THROW inesperado
Estou tentando fazer uma exceção da seguinte maneira:
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index', '');
Edit: eu também tentei
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index');
Não mudou o erro que estava recebendo.
O método completo:
public function __get($name)
{
if(property_exists($this, $name)
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index');
return $this->$name;
}
Solução
Verifique seu código PHP para erros de gravação, às vezes sinto falta de um ';' o que pode causar erros.
Tente escrever também a instrução IF formalmente, adicionando colchetes. Eu sei que não deve ter chances, mas quem sabe com a programação!
Outras dicas
Você está perdendo os parênteses finais da sua linha if () e assim o php vê isso
if(property_exists($this, $name) throw new Exception(...);
que não é sintaxe válida. Coloque a) No final da sua linha if ():
if(property_exists($this, $name))
EDIT: Eu odeio quando sinto falta das respostas abaixo de uma resposta. :(