PHP 5.3.2 не выбрасывает исключения - PullRequest
1 голос
/ 08 апреля 2010

Я пытаюсь сгенерировать исключение, используя php 5.3.2, и это дает мне следующую ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданный T_THROW

Я пытаюсь создать исключение следующим образом:

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

Редактировать: я тоже пробовал

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

это не изменило ошибку, которую я получал.

Полный метод:

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

Ответы [ 2 ]

4 голосов
/ 08 апреля 2010

проверьте ваш php-код на наличие ошибок, иногда я пропускаю ';' которые могут вызвать ошибки.

также попробуйте написать оператор if формально, добавив в скобках. я знаю, что это не должно иметь никакого значения, но кто знает, как программировать!

0 голосов
/ 08 июня 2010

Вам не хватает закрывающей скобки в строке if (), поэтому PHP видит это

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

, что является недопустимым синтаксисом.Поместите a) в конец строки if ():

if(property_exists($this, $name))

Редактировать: Я ненавижу, когда пропускаю ответы ниже ответа.(

...