我试图覆盖 getMessage()
来为返回消息提供默认值但失败了,因为 PHP Exception
类中的所有方法都是最终的。
现在我只是好奇为什么会这样。我知道我可以通过添加代理方法来解决这个问题。
最佳答案
它们是最终的
,以确保它们在所有继承的类
中以完全相同的方式工作。程序员会期望 getMessage
以完全相同的方式为所有直接或从 Exception
传递继承的 class
工作。不过,您可以在构造函数中设置消息,因为您将能够为您的类编写自己的构造函数。
关于php - 为什么 PHP 异常类中的所有方法都是最终的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43064972/