项目异常及其处理

在这次项目中遇到的典型异常有如下几个:

1、数字格式化异常:对于这个异常的处理可以有这些情况(数字格式不对、数字值为空)。解决这个问题首先要找出哪个变量发生了这个异常,可以用排查的方式查出来,其次分析这个变量值为什么会为空或者格式不对,有的时候通过分析可以发现,这个错误其实是因为单词写错导致数据传递失败。就这样,一个问题就解决了。

2、流关闭异常(即没有及时关闭流):这个问题解决的思路是先看错误的描述,然后再回顾一些测试的这个方法的底层中是否有流没有关闭,往往解决这个问题只需要用到一个try/catch块,在finally中关闭流即可。这个问题难点在于找不到哪个地方的流没有关闭。

3、mybatis映射异常:这个问题难点在问题的描述,也许是第一次碰到这个异常,所以看到问题只知道是发生在mapper中,可是但是看了mapper中所有的参数结果集都没有问题,后来在组长的帮助下发现这个问题其实是因为一个小小的疏忽,id后面的方法名重复了,然后这个时候再看问题的描述,其实它说的是出现问题的方法不知道返回什么结果,所以写代码还是仔细一点比较好,尤其是复制粘贴的时候要把所有需要修改的地方考虑完全。

4、实际返回数据与方法返回数据不对应异常:这个异常很奇怪,难点在不知道问题的根源,问题的描述很简单,一眼就可以看出来。当时遇到这个问题的时候看完了所有的mapper里面的内容和测试方法,但是还是无果,后来在老师的帮助下,发现问题在于dao接口中设计的方法返回类型是一个对象,而mapper中的sql语句返回的是一个集合,二者不匹配。通过这个问题,更进一步的理解了dao与service的关联与区别,还有就是理解还用户需求至关重要。

对于这些异常的处理难点不在异常本身,而在于怎么找出问题的根源。有的时候解决异常的99%的时间都花费在找异常上面,剩下的1%的时间在解决异常。所以为了提高编码能力,提高自己的调试能力很重要。

转载于:https://www.cnblogs.com/zh520mm/p/7190942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值