我扩展了Exception
类,在我的子类中,我想覆盖getMessage
方法,为这个特殊异常做一些特定于消息的格式化。但是,根据documentation,Exception
类中的所有getter都是final
。
Exception
类的吸气者必须final
的想法背后的理性是什么?
答案 0 :(得分:1)
它是final
的原因是你希望这个相当重要的类始终具有相同的核心功能实现。因此,如果有人来到你身边,他们仍然可以使用getMessage()
。这是final
背后的整个想法,没有孩子可以覆盖父母。
只需编写自己的方法
class MyException extends Exception {
public function getMyErrors() {
return $this->message;
}
}