第六十条:优先使用标准的异常
2015-06-02 10:48
369 查看
专家级程序员与缺乏经验的程序员的一个最主要的区别在于,专家追求并且通常也能够实现高度的代码重用。代码重用是值得提倡的。
这是一条通用的规则,异常也不例外。Java平台类库提供了一组基本的未受检的异常,它们满足了绝大多数API的异常抛出需要。
最经常被重用的异常时 IllegalArgumentException。当调用者传递的参数值不合适的时候,往往就会抛出这个异常。例如,假设
一个参数代表了“某个动作的重复次数”,如果程序员给这个参数传递一个负数,就会抛出这个异常。
另一个经常被重用的异常时 IllegalStateException。如果在某个对象被正确的初始化之前,调用者就企图使用这个对象,就会抛出
这个异常。
可以这么说,所有错误的方法调用都可以被归结为非法参数或者非法状态,但是还有一些其他的标准异常也被用于某些特定情况下的
非法参数和非法状态。
NullPointerException 在参数值不能为null的情况下参数值为null 抛出空指针异常
IndexOutOfBoundsException 下标参数值越界 抛出索引越界异常
ConcurrentModificationException 在禁止并发修改的情况下,检测到对象的并发修改 抛出
UnsupportedOperationException 对象不支持用户请求的方法 抛出
最后,一定要清楚。选择重用哪个异常并不总是那么的精确,因为上面的异常的使用场合并不是相互排斥的。
这是一条通用的规则,异常也不例外。Java平台类库提供了一组基本的未受检的异常,它们满足了绝大多数API的异常抛出需要。
最经常被重用的异常时 IllegalArgumentException。当调用者传递的参数值不合适的时候,往往就会抛出这个异常。例如,假设
一个参数代表了“某个动作的重复次数”,如果程序员给这个参数传递一个负数,就会抛出这个异常。
另一个经常被重用的异常时 IllegalStateException。如果在某个对象被正确的初始化之前,调用者就企图使用这个对象,就会抛出
这个异常。
可以这么说,所有错误的方法调用都可以被归结为非法参数或者非法状态,但是还有一些其他的标准异常也被用于某些特定情况下的
非法参数和非法状态。
NullPointerException 在参数值不能为null的情况下参数值为null 抛出空指针异常
IndexOutOfBoundsException 下标参数值越界 抛出索引越界异常
ConcurrentModificationException 在禁止并发修改的情况下,检测到对象的并发修改 抛出
UnsupportedOperationException 对象不支持用户请求的方法 抛出
最后,一定要清楚。选择重用哪个异常并不总是那么的精确,因为上面的异常的使用场合并不是相互排斥的。
相关文章推荐
- Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter)、 词干化(Stemming)
- 分享喜悦,共同成长
- 已知田字形的2*2的格子里面有9个矩形(包含正方形),问N*N的格子有多少个矩形?
- 社説 20150602 自転車事故対策 講習で危険運転を抑止したい
- 应付 AP 流程
- 常用 SQL Server 规范集锦
- [php] Thinkphp删除图片和数据库记录
- Hibernate之入门案例
- 谈谈自己对js闭包,执行上下文,作用域链,活动对象AO,变量对象VO的理解
- 后台request获得所有参数(当你不知道它包含什么参数)
- 我所了解的chrome
- UIImage 按照指定宽度等比例裁切
- (转)Boyer-Moore算法
- Mysql的数据类型
- 第三节---nginx轻缓存安装与站点配置
- gcc-linaro-arm-linux-gnueabihf
- 论技术、组织债务
- #pragma预处理命令【转】
- 你可能不知道console强大
- FBX Software Development Kit