簡體   English   中英

創建Exception子類時“Exception的參數錯誤”

[英]“Wrong parameters for Exception” when creating Exception subclass

這是我的代碼

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

出了什么問題?

如注釋中所述,在Exception構造函數頁面上 ,在PHP 5.3中添加了$previous參數。

這反映在錯誤消息中:

異常的參數錯誤([string $ exception [,long $ code]])

PHP在確保構造函數完全匹配方面有點熱心。 例外是內部位的重要組成部分,讓它們完全正確是值得迂腐的。

此代碼演示顯示了較舊的PHP版本處理錯誤參數計數的各種方法。 從上面使用的措辭來看,您使用的是PHP 5.1或5.2。

請注意,在撰寫本文時(2014年2月), 5.4之前的PHP版本已達到安全和錯誤修復更新的生命周期,並且計划在2014年夏季為EOL安裝5.4。

如果可以,請確保在部署應用程序時使用的是現代版本的PHP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM