`
leonzhx
  • 浏览: 797006 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Item 62: Document all exceptions thrown by each method

阅读更多

1.  Always declare checked exceptions individually, and document precisely the conditions under which each one is thrown using the Javadoc @throws tag.

 

2.  Don’t take the shortcut of declaring that a method throws some superclass of multiple exception classes that it can throw.

 

3.  While the language does not require programmers to declare the unchecked exceptions that a method is capable of throwing, it is wise to document them as carefully as the checked exceptions. Familiarizing programmers with all of the errors they can make helps them avoid making these errors. A well-documented list of the unchecked exceptions that a method can throw effectively describes the preconditions for its successful execution. It is particularly important that methods in interfaces document the unchecked exceptions they may throw. This documentation forms a part of the interface’s general contract and enables common behavior among multiple implementations of the interface.

 

4.  Use the Javadoc @throws tag to document each unchecked exception that a method can throw, but do not use the throws keyword to include unchecked exceptions in the method declaration.

 

5.  If an exception is thrown by many methods in a class for the same reason, it is acceptable to document the exception in the class’s documentation comment rather than documenting it individually for each method. A common example is NullPointerException. It is fine for a class’s documentation comment to say, ”All methods in this class throw a NullPointerException if a null object reference is passed in any parameter” or words to that effect.

 

分享到:
评论

相关推荐

    Effective Java 3rd edition(Effective Java第三版英文原版)附第二版

    Item 74: Document all exceptions thrown by each method Item 75: Include failure-capture information in detail messages Item 76: Strive for failure atomicity Item 77: Don’t ignore exceptions 11 ...

    JavaSE程序设计课件:L05-Exceptions and Assertions - 1.pdf

    "JavaSE程序设计课件:L05-Exceptions and Assertions - 1.pdf"主要涵盖了两个核心主题:异常(Exceptions)和断言(Assertions)。 1. 异常(Exceptions) 异常是程序执行过程中发生的非正常事件,可以分为三种...

    Python 解决execjs._exceptions.ProgramError: ReferenceError: document is not defined报错问题

    然而,在某些情况下,当你尝试使用`execjs`执行包含浏览器环境特定对象(如`document`或`window`)的JavaScript代码时,可能会遇到`execjs._exceptions.ProgramError`,比如`ReferenceError: document is not ...

    webpack4 配置 ssr 环境遇到“document is not defined”

    ReferenceError: document is not defined 本次package.json使用版本信息: { vue-loader: ^15.4.2, mini-css-extract-plugin: ^0.4.3, webpack: ^4.20.2, webpack-cli: ^3.1.2 ... } 相关代码 问题原因: ...

    Python库 | better_exceptions-0.2.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:better_exceptions-0.2.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | asphalt-exceptions-1.0.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:asphalt-exceptions-1.0.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    PyPI 官网下载 | py_exceptions-1.1.0-py3-none-any.whl

    资源来自pypi官网。 资源全名:py_exceptions-1.1.0-py3-none-any.whl

    Python库 | py_exceptions-1.1.0-py3-none-any.whl

    《Python库py_exceptions-1.1.0-py3-none-any.whl详解》 Python作为一门强大且广泛应用的编程语言,其丰富的库生态系统是其魅力所在。本文将深入探讨一个名为`py_exceptions`的Python库,该库在版本1.1.0中发布,其...

    Jpaca 帮助文档 Jpcap API EN.CHM

    How This API Document Is Organized This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows. Package Each package has a ...

    PyPI 官网下载 | zope.exceptions-3.6.2.tar.gz

    《PyPI官网下载 | zope.exceptions-3.6.2.tar.gz:深入理解Python库中的异常处理》 PyPI(Python Package Index)是Python开发者获取和分享软件包的主要平台,其中包含了众多开源的Python库。在给定的资源“zope....

    EurekaLog_7.5.0.0_Enterprise

    23)..Fixed: NT service may not log all exceptions 24)..Fixed: SSL port number for Bugzilla 25)..Fixed: Disabling "Activate Exception Filters" option was ignored 26)..Fixed: Missing FTP proxy settings ...

    http-exceptions, 从任何http异常中进行营救.zip

    http-exceptions, 从任何http异常中进行营救 Http::ExceptionsHttp::Exceptions 为你的Http库可能抛出的异常提供了一种简单的方法。 这是在雨林的QA开发的- 你可以在我们的博客上看到更多的,介绍了 ...

    解决Cause com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

    Cause com.mysql.jdbc.exceptions.jdbc4.CommunicationsException The last packet successfully received from the server was 47,795,922 milliseconds ago. The last packet sent successfully to the server was...

    侯捷译Scott Meyers的 More Effecitve C++

    - **Item 11: 禁止异常信息(EXCEPTIONS)传递到析构函数外** - 在析构函数中抛出异常通常是不好的做法,因为它可能导致资源无法正确释放。 - **Item 12: 理解“抛出一个异常”与“传递一个参数”或“调用一个虚...

    PyPI 官网下载 | hed_exceptions-0.0.4-py3-none-any.whl

    资源来自pypi官网。 资源全名:hed_exceptions-0.0.4-py3-none-any.whl

    more effective c++

    #### Item 11:禁止异常信息(EXCEPTIONS)传递到析构函数外 - **目的**:确保析构函数能够正常执行,避免析构过程中抛出异常。 - **实现**:通过异常安全的设计,确保即使出现异常,析构函数也能正常工作。 #### ...

    Exceptions:探索异常

    在编程世界中,异常是程序运行时遇到的不正常情况,它们中断了正常的代码执行流程。在JavaScript中,异常处理是通过try...catch语句来实现的,这使得程序员能够优雅地处理错误,而不是让程序突然崩溃。...

Global site tag (gtag.js) - Google Analytics