Throwable
有以下字段:
private String detailMessage;
为什么这个领域不是最终的。它永远不会被修改,除了构造函数。甚至永远不会被访问,除了getMessage
。
答案 0 :(得分:2)
Throwable
本身的Java源代码中没有明显的 1 原因。
有可能 2 在Java SE代码库中的某些地方需要能够使用反射或其他“后门”机制修改异常消息。过去或将来也有可能。
但是,坦率地说,为什么这样做是没关系的。 您的代码不应该依赖于此private
变量,因此它对您来说应该没有任何区别{/ 1}}。
1 - ...给我。
2 - 我在OpenJDK代码库中搜索final
的出现次数,其中一些命中符合这一理论。查看detailMessage