我写了以下方法:
public int count(int x){
//method contents
}
参数x必须介于0和10之间,尽管使用此代码的任何人都不会遇到问题,因为使用此方法的任何人都不会拥有不符合要求的x。捕获和处理检查的异常可能有点单调乏味,因为"计数"方法将被调用。强制执行x的最佳方法是0到10之间:检查异常,未经检查的异常或断言?
答案 0 :(得分:1)
IllegalArgumentException
将会出现在本书中; 1 Josh Bloch,Effective Java,Item 41:
如果通过正确使用API 和无法阻止异常情况,那么[已检查异常]的负担是合理的。使用API的程序员在遇到异常时可以采取一些有用的操作。除非这两个条件都成立,否则未经检查的异常更合适。
答案 1 :(得分:0)
这取决于你的风格,但最常见的方式是未经检查的例外。
我会编写类似这样的代码:
public int count(int x){
if (x < 0 || x > 10) {
throw new IllegalArgumentException(...);
}
//method contents
}