Java中 NoClassDefFoundError同ClassNotFoundException之间有什么不同点呢?
下文将讲述NoClassDefFoundError同ClassNotFoundException的不同之处,如下所示:
此时如果找不到类定义,则会抛出此异常
ClassNotFoundException 产生场景
当代码中使用字符串名称加载类时,如无法记载字符串中的类时,此时会抛出ClassNotFoundException异常如:
- forName类中的方法Class
- findSystemClass类中的方法ClassLoader
- loadClass类中的方法ClassLoader
NoClassDefFoundError 产生场景
当Java虚拟机或ClassLoader实例尝试加载类的定义,此时如果找不到类定义,则会抛出此异常
NoClassDefFoundError同ClassNotFoundException区别
NoClassDefFoundError同ClassNotFoundException的不同点在于:- 两者一个是error,一个是异常
- 由于一个是Exception是可恢复的操作
一个是错误,直接会导致JVM无法继续向下运行
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。