开发通用类时遇到的几个问题

在自己设计一些通用类库时遇到了几个问题,想了很久,一直没有想明白。所以想发起一个讨论,看看大家是怎麼看待这几个问题的:
一、关於异常的处理的几个问题:
1.我们的方法应该在什麼时候该抛出异常?什么时候自己处理异常?比如:参数为null时,何时需要抛出NullPointerException?

2.我们的异常类型应该细化到何种程度?即,何时需要使用自定义异常类型?是把一个异常设计
的复杂化,可以保存更多的异常信息好,还是把异常类型设计的多一些、简单些好?

3.何时抛出RuntimeException?何时抛出Exception?

4.捕捉到调用的方法抛出的异常,处理完毕后,需要继续向上抛出吗?

5.无法知道一个方法是否会抛出一个RuntimeException,这个时候如何保证代码的健康?

二.我们在设计类的时候,应该把什麼放在构造函数里,把什麼作为参数?

比如,我要写一个对List进行排序的类。ListSorter,那麼我该设计为

new ListSorter(list).sort(String sortField,SortOrder.ASC);

还是

new ListSorter(String sortField,SortOrder.ASC).sort(list);

这样较好? 或者说,这个对List排序类的接口方法,应该设计为

sort(String sortField,SortOrder sortOrder);


还是


sort(List list);


这样?

posted @ 2009-07-30 22:32  张旋  阅读(571)  评论(6编辑  收藏  举报