NoClassDefFoundError和ClassNotFoundException的区别

我们容易把java.lang.ClassNotFoundExceptionjava.lang.NoClassDefFoundError这两个错误搞混。虽然他们都与Java classpath有关,但是他们完全不同。

NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误;

ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误。

此外他们一个是error级别一个是exception级别的,但是又都是未(不)检查异常.

猜你喜欢

转载自blog.csdn.net/youngogo/article/details/81140830
今日推荐