开发通用类时遇到的几个问题
在自己设计一些通用类库时遇到了几个问题,想了很久,一直没有想明白。所以想发起一个讨论,看看大家是怎麼看待这几个问题的:
一、关於异常的处理的几个问题:
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);
这样?
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!