代码重用,是程序员们“千百年来”所追求的目标,同样Exception也是代码,也该尽量被重用。所以,应该尽量使用标准的异常,而不是轻易地使用自造的异常。
很多的类库都定义了自己的异常,我本人所参与设计的几个项目大多数也有自己的异常。但这些异常都是仅适用于项目自身的某些情形的,换个角度说,就是这些情形下没有太合适的标准异常来表示,加之自造异常还可以做某些处理,如信息的反馈,日志、错误消息的封装等。
但是,当那些常见的“低级”错误发生时,应使用相应的“定式”。记住以下标准异常吧:
IllegalArgumentException |
参数的值不合适。方法的开始处的参数检查,一旦有问题就该抛出这个 |
IllegalStateException |
对于这个方法调用而言,对象状态不合适。同样也是开始处检查 |
NullPointerException |
空指针 |
IndexOutOfBoundsException |
下标越界 |
ConcurrentModificationException
|
禁止并发的情况下,被检查到并发的修改 |
UnsupportedOperationException
|
不支持这种方法,如接口/抽象父类中已经定义,但尚未实现的方法 |
利用类库中现有的异常是被提倡的。但有一个重要的原则,就是你使用的场景一定要复合这个异常在文档中所描述的条件。
【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208
分享到:
相关推荐
第27条 优先使用算术操作符和赋值操作符的标准形式 48 第28条 优先使用++和--的标准形式。优先调用前缀形式 50 第29条 考虑重载以避免隐含类型转换 51 第30条 避免重载&&、||或 ,(逗号) 52 第31条 ...
涉第三人情形下医疗费用的社保先行支付与追偿——以《社会保险法》第三十条第二款和第四十二条为中心.rar
涉第三人情形下医疗费用的社保先行支付与追偿——以《社会保险法》第三十条第二款和第四十二条为中心.pdf
Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页).ppt Java基础入门教程 第8章 文件流的输入输出操作...
本书针对程序设计的初学者,以面向对象的程序设计思想为主线,以通俗易懂的方法介绍C++语言,引导读者以最自然的方式,将人类习惯的面向对象的思维方法运用到程序设计中。主要内容包括程序设计基础知识、类与对象的...
GB19574-2004本标准42条是强制性的.doc GB2423.08.pdf gb4943-1.pdf GB4943-2001.pdf GB4943-2001等同UL61950超清晰版下载.pdf gb4943.pdf GB9254-1998.pdf GBT 2829-2002.pdf GBT17263-2002 neq IEC 60969 2000.doc...
ARIS中文使用手册第42章
3.2.5 抛出标准异常和实现自己的异常 8 3.3 配置器 8 4 通用工具 9 4.1 简介 9 4.1.1 类别 9 4.1.2 头文件 9 4.2 Pairs 9 4.2.1 简介 9 4.2.2 示例 9 4.3 auto_ptr 10 4.3.1 作用 10 4.3.2 引入原因 10 4.3.3 声明 ...
第四条 双方的权利义务 第五条 验收标准和方式 第六条 协作事项 第七条 合同价款及支付方式 第八条 保密义务 第九条 合同变更 第十条 法律责任 第十一条 知识产权 第十二条 联系人及其责任 第十三条 不可抗力 第十四...
据不完全统计,目前世界上安装各类电子海图的商船、渔船、客 船、游船及军舰在二十万条以上。对于SOLAS船舶而言,随着各国官方电子航海图(ENC)逐步完备、标准ECDIS的出现以及IMO对ECDIS的认可,ECDIS势必取代沿用...
HSK标准教程6下 课件 L24.pptx
广西南宁市第四十二中学2016届高考语文专项复习_正确使用词语练习二无答案
第四计:为接口引入抽象版本 4 第五计:消灭魔法数 4 第六计:使用断言、异常确保实现的正确性 4 第七计:串联函数调用 5 第八计:临时变量在用到时才声明 6 第九计:保持类的公有函数粒度最小化 6 第十计:将可访问...
第四天 纵向导航菜单及二级弹出菜单 第五天 超链接伪类 第六天 html列表 第七天 横向导航菜单 第八天 下拉及多级弹出菜单 第九天 CSS表单设计 第十天 div+css网页标准布局实例教程(一) 第十天 div+...
第四章 给水排水篇 (一) 说明 84 (二) 给水系统 84 1 管材选型 84 2 技术要求 84 (三) 排水系统 87 1 管材选型 87 2 技术要求 88 (四) 消防系统 90 1 管材选型 90 2 技术要求 90 (五) 设备技术要求 92 ...
第四条 电玩城住所:景洪市西双十二城商业A区 第三章 电玩城经营范围 第五条 电玩城经营范围:电子游戏室的经营和管理(上述范围涉及法律法规规定需审批的项目,未获审批前不得经营)。 第四章 电玩城注册资本 第六...
广西南宁市第四十二中学2020届高考语文 专项复习-正确使用词语练习二(无答案).doc
第42讲:导航控件 第43讲:登录控件 第44讲:Web应用程序的调试和异常处理 第45讲:Web应用程序的部署和配置 第46讲:Web应用程序的安全性 第47讲:Web Service介绍 第48讲:Web Service应用 第49讲:ADO.NET概述 第...
第四天 纵向导航菜单及二级弹出菜单 第五天 超链接伪类 第六天 html列表 第七天 横向导航菜单 第八天 下拉及多级弹出菜单 第九天 CSS表单设计 第十天 div+css网页标准布局实例教程(一) 第十天 div+...
电脑报 2012年第42期