特别是,在这些情况下是否使用了标准Exception子类?
如果你想要更细的粒度和更好的描述,你可以使用common -lang中的NotImplementedException
警告:仅在版本2.6之前和版本3.2之后可用。
区分你提到的两个案例:
要指出所请求的操作不受支持,而且很可能永远不会支持,可以抛出UnsupportedOperationException。 要指示所请求的操作尚未实现,请在以下两者之间进行选择: 使用apache common -lang中的NotImplementedException异常,该异常在commons-lang2中可用,并在3.2版中重新添加到commons-lang3中。 实现你自己的NotImplementedException。 抛出一个UnsupportedOperationException,并带有类似“尚未实现”的消息。
如果你在NetBeans中创建了一个新的(尚未实现的)函数,那么它会生成一个带有下面语句的方法体:
throw new java.lang.UnsupportedOperationException("Not supported yet.");
因此,我建议使用UnsupportedOperationException。
下面的Calculator示例类显示了两者的区别
public class Calculator() {
int add(int a , int b){
return a+b;
}
int dived(int a , int b){
if ( b == 0 ) {
throw new UnsupportedOperationException("I can not dived by zero,
not now not for the rest of my life!")
}else{
return a/b;
}
}
int multiple(int a , int b){
//NotImplementedException from apache or some custom excpetion
throw new NotImplementedException("Will be implement in release 3.5");
}
}
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap