• 第五十八条:对可恢复的情况使用受检异常,对编程错误使用运行时异常


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

    关于什么时候适合使用哪种可抛出结构,程序员中存在一些困惑。虽然这项决定并不总是那么清晰,但是还是有一般性的原则提出了强有力的指导。

    在决定使用受检的异常或者未受检的异常时,主要的原则是:如果期望调用者能够适当地恢复,对于这种情况就应该使用受检的异常。通过抛出受检的

    异常,强迫调用者在一个catch子句中处理该异常,或者将它传播出去。因此,在方法中声明要抛出的每个受检异常,都是对API用户的一种潜在指示:

    与异常相关联的条件是调用这个方法的一种可能结果。

    有两种未受检的可抛出结构:运行时异常和错误。在行为上两者是等同的:它们都是不需要也不应该被捕获的可抛出结构。如果程序抛出未受检的异常或者

    错误,往往就属于不可恢复的情形,继续执行下去有害无益。程序抛出运行时异常或者错误,将会导致当前的线程停止,并出现适当的错误消息。

    错误往往被JVM保留用于表示资源不足,约束失败,或者其他使程序无法继续执行的条件。由于这已经是个几乎被普遍接受的惯例,因此最好不要再实现

    任何新的Error子类。因此,你所实现的未受检的抛出结构都应该是RuntimeException的子类。

  • 相关阅读:
    the core or essence of a computer
    HEXADECIMAL NOTATION is Syntactic_sugar.
    Converting from Decimal Notation to Binary Notation for Fractions
    convert from base 10 to base 2
    MYSQL PASSWORD()
    Environment Variables
    Why Stored Procedures?
    delimiter
    page fault rate
    Segmentation
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4543947.html
Copyright © 2020-2023  润新知