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