对异常处理学习的一点小节
2007-08-25 23:07
239 查看
在写这个小节之前,我要感谢我的同事们,在和他们的讨论中,我对异常处理有了更加有效的认识。
异常处理有很多优点,但对于编写业务逻辑的程序员来说,暴露业务中存在的bug,是异常处理存在的理由,这种情况在我们的编程工作中经常见到,我现在也在反思,因为 之前我也犯了很多的这样的错误。
有一段代码,我想大家曾经遇到过,甚至天天都在写:
private List<long> SortList(List<long> list)
{
//the code sorting the list
.......;
}
如果list为null,那么SortList肯定会抛出异常。那么我们是不是可以将代码进行如下调整呢?
private List<long> SortList(List<long> list)
{
if(list == null)
return new List<long>();
//the code sorting the list
.......;
}
这种方法实际上是不可取的,因为它隐藏了让list为空的代码,这个里应该将list为null的情况作为异常抛出,这对我们发现系统中隐藏的bug是有益的。
当然在这里讨论的只是异常处理的一角,还有很多需要学习与实践,今天就分享到这里吧。
异常处理有很多优点,但对于编写业务逻辑的程序员来说,暴露业务中存在的bug,是异常处理存在的理由,这种情况在我们的编程工作中经常见到,我现在也在反思,因为 之前我也犯了很多的这样的错误。
有一段代码,我想大家曾经遇到过,甚至天天都在写:
private List<long> SortList(List<long> list)
{
//the code sorting the list
.......;
}
如果list为null,那么SortList肯定会抛出异常。那么我们是不是可以将代码进行如下调整呢?
private List<long> SortList(List<long> list)
{
if(list == null)
return new List<long>();
//the code sorting the list
.......;
}
这种方法实际上是不可取的,因为它隐藏了让list为空的代码,这个里应该将list为null的情况作为异常抛出,这对我们发现系统中隐藏的bug是有益的。
当然在这里讨论的只是异常处理的一角,还有很多需要学习与实践,今天就分享到这里吧。
相关文章推荐
- 学习C++的一点体会
- SNMP学习的一点心得
- 对Spring的BeanFactory的学习小节
- 关于qt学习的一点小记录(1)
- 【D3D11游戏编程】学习笔记十三:内存对齐的一点思考
- Python3.3 学习笔记5 - 异常处理
- 对大学编程学习的一点理解和感悟
- Altium Designer学习的一点总结
- java学习的一点知识-2015/9/8
- 每天学一点flash(30) new Timer的函数 学习笔记
- 【Java学习笔记】异常处理
- Tapestry学习中一点总结
- 给学习数据库开发的朋友们一点建议和忠告
- 关于学习redis的一点想法
- 学习JavaScript时写的一点脚本
- 【计算机组成原理系列学习一】对计算机发展历程的一点粗浅认识
- java中面向对象的一点学习总结
- 学习技术的一点感想
- Java基础学习总结(五)—— 异常处理
- pyqt 学习基础 4 - creater的一点使用心得