对异常处理学习的一点小节

来源:互联网 发布:狐狸 知乎 编辑:程序博客网 时间:2024/05/01 10:48
在写这个小节之前,我要感谢我的同事们,在和他们的讨论中,我对异常处理有了更加有效的认识。
异常处理有很多优点,但对于编写业务逻辑的程序员来说,暴露业务中存在的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是有益的。

当然在这里讨论的只是异常处理的一角,还有很多需要学习与实践,今天就分享到这里吧。
原创粉丝点击