ClassNotFoundException
和ClassDefNotFoundException
之间有什么区别我知道它们都是Exception
的子类。
从这个问题得到ClassNotFoundException
的一些解释。 What is the difference between NoClassDefFoundError and ClassNotFoundException?
我为ClassDefNotFoundException
阅读了Java doc,并说:
当在OWB类型系统中找不到类的定义时,抛出
请详细说明以上声明,我不知道OWB打字系统。分类和提出这些例外的时候究竟有什么区别。
答案 0 :(得分:1)
ClassNotFoundException
是Java的核心例外。
ClassDefNotFoundException
是一个" Oracle Warehouse Builder"异常(很可能只包装ClassNotFoundException
)。
答案 1 :(得分:0)
当ClassLoader找不到报告的类时,抛出ClassNotFoundException
。这通常意味着class is missing from the CLASSPATH
。
假设我们有一个名为X的类引用了类Y.Classloader加载了类X,它现在加载它经过linking phase
,它经过三个不同的子阶段。
现在当它经过Resolve-phase
并且这个阶段尝试解析Y的引用时,不幸的是它找不到类Y的定义,那么对于类Y它将是ClassDefNotFoundException
并且它将包装类X的'ClassNotFoundException'。