这是我的代码
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);
出了什么问题?
最佳答案 正如评论中所述,并且在
the Exception constructor page上,$3.1中添加了$previous参数.
这反映在错误消息中:
Wrong parameters for Exception ([string $exception [, long $code ]])
PHP在确保构造函数完全匹配方面有点热心.例外是内部位的重要组成部分,让它们完全正确是值得迂腐的.
This code demo显示了较旧的PHP版本处理错误参数计数的各种方法.从上面使用的措辞来看,您使用的是PHP 5.1或5.2.
请注意,在撰写本文时(2014年2月),5.4之前的PHP版本已达到安全和错误修复更新的生命周期,并且计划在EOL in summer 2014中安装5.4.
如果可以,请确保在部署应用程序时使用的是现代版本的PHP.