2014-08-30 60 views
0

我正在扩展Exception类,在我的子类中,我想覆盖getMessage方法,为特定的异常做一些消息特定的格式化。但是,根据documentationException类中的所有获得者都是final为什么异常最终获得者?

想法背后的理由是什么?Exception类的获得者必须是final

回答

0

其原因是final是您希望这个相当重要的类始终具有相同的核心功能实现。所以如果有人来到你身后,他们仍然可以使用getMessage()。这是final背后的整个想法,即没有孩子可以覆盖父母。

只写你自己的方法

class MyException extends Exception { 

     public function getMyErrors() { 
      return $this->message; 
     } 
} 
相关问题