ClassNotFoundException和 NoClassDefFoundError的区别

##### 1. 类型

ClassNotFoundException继承自Exception,属于java异常类。NoClassDefFoundError继承自Error,在java中Error一般属于不可恢复的系统错误,有JVM抛出,并且不能被开发者处理。

##### 2. 产生的原因

ClassNotFoundException:当Java程序在运行时在类路径中找不到指定的类或者用Class.forName动态加载一个在类路径中不存在的类时,就会产生ClassNotFoundException异常。

NoClassDefFoundError: 表示程序在编译时可以找到所依赖的类,但是在运行时找不到指定的类文件的情况,找不到的原因可能是打包时遗漏了某个类或者jar出现损坏等。

猜你喜欢

转载自www.cnblogs.com/yourblog/p/10404010.html