Intereting Posts
JavaScript эквивалентен PHP-методу __get () магии Laravel updateOrCreate общее поле ошибки post_id не существует WKHTMLTOPDF – Можно ли отображать динамические заголовки? При использовании Kohana DB, как избежать дублирования кода при необходимости подсчета для разбивки на страницы? Эвакуация для CSV использовать завиток для загрузки непрямого файла изображения Примечание. Неопределенная переменная: captcha в C: \ wamp \ projects \ ServiceAdmin \ login \ loginauth.php в строке 11 Как можно запускать несколько версий PHP 5.x на сервере LAMP разработки? SQLSTATE : Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в строке 102 Twitter – twemproxy – memcached – Повторная попытка не работает должным образом Эффективный способ проверки строки для определенных слов Как конвертировать дружественный URL-адрес в исходный URL-адрес Заполнение пробелов в запросе диапазона дат с использованием таблицы календаря вывод print_r в переменную PHP Cookie не работает

«Неверные параметры для исключения» при создании подкласса «Исключение»

Это мой код

class MyException extends Exception { public function __construct($message, $code=0, Exception $previous = null) { parent::__construct($message,$code,$previous); } public function __toString() { return __CLASS__. ":[{$this->code}]:{$this->message}\n"; } } 

Вот ошибка

 Fatal error: Wrong parameters for Exception([string $exception [, long $code ]]) on line 5 

означает на этой линии

 parent::__construct($message,$code,$previous); 

Что происходит не так?

    Как отмечено в комментариях, а также на странице конструктора исключений , аргумент $previous был добавлен в PHP 5.3.

    Это отражено в сообщении об ошибке:

    Неверные параметры для исключения ([string $ exception [, long $ code]])

    PHP немного ревностно следит за тем, чтобы конструктор точно соответствовал . Исключения составляют важную часть внутренних бит, и получение их в точности правильное стоит педантично.

    Эта демонстрация кода показывает, как старые версии PHP обрабатывают неверный параметр. Из приведенной выше формулировки вы используете PHP 5.1 или 5.2.

    Имейте в виду, что на момент написания этой статьи (февраль 2014 года) версии PHP до 5.4 достигли конца жизни для обновлений безопасности и исправления ошибок, а 5.4 – для EOL летом 2014 года .

    Если вы можете, убедитесь, что вы используете современную версию PHP при развертывании приложения.