ClassNotFoundException和NoClassDefFoundError的区别

ClassNotFoundException和NoClassDefFoundError的区别 1、NoClassDefFoundError这是一个Error类。当JVM或ClassLoader实例试图在类的定义中加载但无法找到该类的定义时抛出此Error。例如public static void main(String[] args) { new A(); } class A { public A() { new B(); } } class B { public B() { } }如果在运行main方法前把B.class文件删掉类A的构造器会抛出NoClassDefFoundError抛出。2、ClassNotFoundException这是一个检查型异常需要显式捕获。当程序试图通过字符串名加载类时抛出该异常Class 类中的 forName 方法。ClassLoader 类中的 findSystemClass 方法。ClassLoader 类中的 loadClass 方法。青蛙客服系统https://download.csdn.net/download/look4liming/93326820