NoClassDeFoundError与ClassNotFoundException二者的区别
下文笔者讲述NoClassDeFoundError与ClassNotFoundException的功能简介说明,如下所示
NoClassDeFoundError和ClassNotFoundException区别 1.一个继承自Exception,另一个继承自Error。 2.NoClassDeFoundError NoClassDeFoundError继承自LinkageError NoClassDeFoundError是由于类加载过程中连接时错误例:
类abc extends ABC 由于Windows中文件名不区分大小写 所以编译时,先编译父类生成ABC.class 然后编译子类abc.class 此时由于不区分大小写, abc.class直接覆盖掉了ABC.class的内容了 当在解析时,就找不到ABC这个类啦 此时就报 NoClassDeFoundError ClassNotFoundException 如JDBC的时候忘了添加驱动,则会报类找不到的错误信息 public static void main(String[] args) throws ClassNotFoundException { Class.forName("com.mysql.jdbc.driver"); }通过以上的分析,我们可以得知两者的区别
NoClassDeFoundError:继承自Error属于用户程序无法捕获处理的异常 ClassNotFoundException:继承自Exception属于用户程序能捕获处理的异常 NoClassDeFoundError:发生在类生命周期中解析阶段找不到相应的类 ClassNotFoundException:发生在类生命周期的加载阶段,找不到相应的类
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。