0
我正在擴展Exception
類,在我的子類中,我想覆蓋getMessage
方法,爲特定的異常做一些消息特定的格式化。但是,根據documentation,Exception
類中的所有獲得者都是final
。爲什麼異常最終獲得者?
想法背後的理由是什麼?Exception
類的獲得者必須是final
?
我正在擴展Exception
類,在我的子類中,我想覆蓋getMessage
方法,爲特定的異常做一些消息特定的格式化。但是,根據documentation,Exception
類中的所有獲得者都是final
。爲什麼異常最終獲得者?
想法背後的理由是什麼?Exception
類的獲得者必須是final
?
其原因是final
是您希望這個相當重要的類始終具有相同的核心功能實現。所以如果有人來到你身後,他們仍然可以使用getMessage()
。這是final
背後的整個想法,即沒有孩子可以覆蓋父母。
只寫你自己的方法
class MyException extends Exception {
public function getMyErrors() {
return $this->message;
}
}