第62条:每个方法抛出的异常都要有文档

描述一个方法所抛出的异常,是正确的使用这个方法时所需要文档的重要组成部分,因此花点时间仔细的为每个方法抛出的异常建立文档是特别重要的。

始终要单独地声明检查时异常,并且使用javadoc的@throws标记,准确地记录下抛出每个异常的条件.如果方法抛出多个异常类,不要使用它抛出异常类的父类.永远不要声明方法”throwsException”,或更糟糕的声明它”throw Throwable”.这样的声明没有给开发者关于”这个方法抛出哪些异常”的任何有用信息,实际上掩盖了该方法在同样的执行环境下可能抛出的任何其他异常, 因此会妨碍该方法的使用。

使用javacdoc的@throws标签记录下一个方法可能抛出的未受检异常,但是不要使用throws关键字将未受检的异常包含在方法的声明中.使用API的程序员必须知道哪些异常是需要受检的,哪些是不需要受检的,因为两种情况下责任是不同的.当缺少由throws声明产生的方法标头时,有javadoc的@throws标签产生的文档就会提供明显的提示信息,以帮助程序员区分受检的异常和未受检的异常.

总而言之,要为你编写的每个方法所抛出的每个异常建立文档.对受检的异常和未受检的异常,以及对于抽象和具体的方法都一样.要为每个受检的异常提供单独的throws字句,不要为未受检的异常提供throws语句.如果没有为可以抛出的异常建立文档,那么其他开发人员很难或者根本不可能有效使用你的类或接口.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第57条:只针对异常的情况处理异常 用抛出(throw)、捕获(catch)、忽略ArrayIndexOutOfB...
    wangcanfeng阅读 306评论 0 0
  • 第五十七条、只针对异常的情况才使用异常 不要优先使用基于异常的模式:因为异常机制的设计初衷是用于不正常的情况,所以...
    Timorous阅读 676评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,854评论 18 139
  • 要想一个API真正可用,就必须为其编写文档。Javadoc根据源代码中特殊格式的文档注释自动生成API文档。 jd...
    每天学点编程阅读 583评论 0 0
  • 最近噩梦缠绵,经常性的睡不好,不管多早睡,多晚睡,五六点会醒,如果状态不好,七八点又会睡过去!没有让自己去想很多很...
    大海上D燕子阅读 277评论 0 0