常见的异常产生的原因和解决办法

一、数组越界异常
Java.lang.ArrayIndexOutofBoundsException
产生的原因:访问了不存在的索引
解决的办法:索引0到数组长度-1的范围内取值
二、空指针异常
Java.lang.NullPointerException
产生的原因:对象没有创建就访问了元素或者方法或者属性
解决的办法:先找出出现的所有引用类型,判断哪个对象是没有new的元素或者方法或者属性,
   如果没有就创建该对象
三、没有这样的元素异常
Java.util.NoSuchElementException
产生的原因:在迭代器迭代的时候没有下一个元素了
解决的办法:在迭代器之前做相对应得判断,如果没有元素了就不迭代输出了
四、并发修改异常
Java.util.ConcurrentModificationException
产生的原因:在迭代器迭代的同时使用集合修改元素
解决的办法:使用普通for循环来遍历
    使用toArray来遍历
    使用ListIterator来遍历
五、类型转换异常
Java.lang.ClassCastException
产生的原因:在向下转型的过程中,没有转换成真实的类型
解决的方法:在向下转型之前使用instanceof关键字对所有子类做逐一判断
六、算法出错异常
Java.lang.ArithmeticException
产生的原因:除数不能为零
解决的办法:改变除数的结果再进行测试
七、没有序列化异常
Java.io.NotSerialzableException
产生的原因:没有实现serializable接口
解决的办法:对需要的写入到文件的类实现serializable接口,
    表示允许该类的该类写入到文件
八、无效类异常
Java.io.InvalidClassException
产生的原因:在写入的是时候有一个对应的id写入eg:stream class desc serialversionUID=-8964704075147120624
    读取时候按照对应的id读取eg:local class serialversionUID=-8964704075147120624
    对文件做了修改后:
   流中的id stream classdesc serialVersionUID = -8964704075147120624
               修改文件之后新的id local class serialVersionUID = 8115451977320215123
    运行报错了的提示:eg:com.yd.iodemo03.Person;
      local class incompatible: 
      stream classdesc serialVersionUID = -8964704075147120624, 
        local class serialVersionUID = 8115451977320215123
解决的办法:给类添加一个固定的序列化id,给的方式有两种:
    1、添加一个固定的id
    2、添加一个系统自动生成的id
    推荐是用第二种,随你自己的选择
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值