Exception和Error区别

1、Exception和Error都是继承了Throwable类
2、Exception又分为可检查(checked)异常和不检查(unchecked)异常,必须显式地进行捕获处理。类似 NullPointerException、ArrayIndexOutOfBoundsException之类。

3、NoClassDefFoundError是一个Error,而ClassNotFoundException是一个异常。
ClassNotFoundException:
1)Java支持使用Class.forName方法来动态地加载类,任意一个类的类名如果被作为参数传递给这个方法都将导致该类被加载到JVM内存中,如果这个类在类路径中没有被找到,那么此时就会在运行时抛出ClassNotFoundException异常。
2)当一个类已经某个类加载器加载到内存中了,此时另一个类加载器又尝试着动态地从同一个包中加载这个类。可以通过控制动态类加载过程避免。

NoClassDefFoundError:
如果JVM或者ClassLoader实例尝试加载(可以通过正常的方法调用,也可能是使用new来创建新的对象)类的时候却找不到类的定义。要查找的类在编译的时候是存在的,运行的时候却找不到了。就会导致NoClassDefFoundError。可能原因是打包过程漏掉了部分类,或者jar包出现损坏或者篡改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值