Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ClassNotFoundException存储自己的原因副本_Java_Classnotfoundexception_Standard Library - Fatal编程技术网

Java ClassNotFoundException存储自己的原因副本

Java ClassNotFoundException存储自己的原因副本,java,classnotfoundexception,standard-library,Java,Classnotfoundexception,Standard Library,我有Oracle的Java实现(1.6.0_37),我对ClassNotFoundException源代码感兴趣。如果您查看它,您将看到该类存储它自己的原因副本: private Throwable ex; 我只是看不出它有什么意义——它与Throwable类中声明的字段完全相似 谁能解释一下为什么Java类库开发人员决定这么做?可能是因为没有人想到要删除它 将原因添加到中的可丢弃项;它没有出现在我的电脑里 但是,ClassNotFoundException的版本确实有原因,因为当静态初始值设

我有Oracle的Java实现(1.6.0_37),我对
ClassNotFoundException
源代码感兴趣。如果您查看它,您将看到该类存储它自己的原因副本:

private Throwable ex;
我只是看不出它有什么意义——它与
Throwable
类中声明的字段完全相似


谁能解释一下为什么Java类库开发人员决定这么做?

可能是因为没有人想到要删除它

原因
添加到中的
可丢弃项
;它没有出现在我的电脑里


但是,
ClassNotFoundException
的版本确实有原因,因为当静态初始值设定项失败时(实际上,由于任何加载问题),会发生此异常,在不知道原因的情况下进行调试可能会非常令人沮丧。

可能是因为他们希望向后兼容使用旧Java版本序列化的异常对象。 保留字段似乎比维护自定义writeObject/readObject方法简单