学员:吴翔提问时间:2008-11-08 01:23:12
姜老师:
我想请教一个问题:
在Check parameters for validity的时候。我们可以用断言(Assertion)的方式,抛出异常的方式等。
对于以下一个程序段,假设输入参数必须小于0,返回值是一个String(具体产生方法是根据内部的逻辑)。
方法1:
public String myMethod(int a){
String str;
if (a>=0)
throw new IllegalArgumentException();
...//do the String generation logic
return str;
}
然后在调用函数中捕获IllegalArgumentException并进行相应处理。
方法2:
public String myMethod(int a){
String str;
if(a>=0)
return null;
else{
...//do the String generation logic
return str;
}
}
然后再调用函数中判别返回值是否为null。
以上两种方法哪一种更为合理呢?
另外抛出异常是不是对于public method的参数进行validity check的最常用的方法呢?
另外能否把学生成绩管理系统的源码发给我一份,我的邮箱是xiang.wu85@gmail.com
十分感谢您!
回答人:姜昊回答时间:2008-11-12 14:38:38
您好,非常抱歉没有第一时间给您回答问题。
参数验证我一般的做法是通过return的方式。
而通过抛异常还是return是需要参考项目整体异常处理机制。
这里有一个资料,推荐给你。
http://hi.baidu.com/lijy83/blog/item/7063f82aca52fd28d42af1c8.html
学员对该答案的评价 非常满意