• 《Effective Java》读书笔记八(异常)


    No57 只针对异常的情况才使用异常

    异常应该只用于异常的情况下,它们永远不应该用于正常的控制流。

    No58 对可恢复的情况使用受检异常,对编程错误使用运行时异常

    Java程序设计语言提供了三种可抛出结构(throwable):受检的异常(checked exception)、运行时异常(run-time exception)和错误(error)。

    1. 如果期望调用者能够适当地恢复,对于这种情况就应该使用受检的异常。
    2. 用运行时异常来表明编程错误。例如:数组访问下标越界。
    3. 错误往往被JVM保留用于表示资源不足、约束失败,或者其它使程序无法继续执行的条件。

    No60 优先使用标准的异常

    表60 常用的异常

    异常

    使用场合

    IllegalArgumentException

    非null的参数值不正确

    IllegalStateException

    对于方法调用而言,对象状态不合适

    NullPointerException

    在禁止使用null的情况下数值为null

    IndexOutOfBoundsException

    下标参数值越界

    ConcurrentModificationException

    对禁止并发修改的情况下,检测到对象的并发修改

    UnsupportOperationException

    对象不支持用户请求的方法

    No62 每个方法抛出的异常都要有文档

    始终要单独地声明受检的异常,并且利用Javadoc的@throws标签标记,准确地记录下抛出每个异常的条件。

    No63 在细节消息中包含能捕获失败的信息

    为了捕获失败,异常的细节信息应该包含所有“对该异常有贡献”的参数和域的值。例如:IndexOutOfBoundsException异常的细节消息应该包含下界、上界以及没有落在界内的下标值。

    No65 不要忽略异常

    如果有空的catch块,至少,此catch块也应该包含一条说明,解释为什么可以忽略这个异常。

  • 相关阅读:
    MFC 的资源文件 就是那个后缀名是 .rc的那个
    servlet 上下文
    servlet 会话技术
    页面分层
    分页技术 -servlet
    关于servlet连接数据库会出现空指针异常情况
    servlet 1
    (转)用户级和内核级线程
    (转)数据库分片Shard操作
    (转)系统设计题要考虑的方面
  • 原文地址:https://www.cnblogs.com/nayitian/p/3250039.html
Copyright © 2020-2023  润新知