创建Exception子类时“Exception的参数错误”

时间:2014-02-10 17:48:27

标签: php exception parameters

这是我的代码

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);

出了什么问题?

1 个答案:

答案 0 :(得分:2)

正如评论和the Exception constructor page所述,PHP {5.3}中添加了$previous参数。

这反映在错误消息中:

  

异常的参数错误([string $ exception [,long $ code]])

PHP确保构造函数与完全匹配有点热心。例外是内部位的一个重要部分,让它们完全正确值得迂腐。

This code demo显示了较旧的PHP版本处理错误参数计数的各种方法。从上面使用的措辞中,您使用的是PHP 5.1或5.2。

请注意,在撰写本文时(2014年2月),5.4 之前的PHP 版本已达到安全和错误修复更新的生命周期,并且已安排为EOL {{ 3}}。

如果可以,请确保在部署应用程序时使用的是现代版本的PHP。