来自 Effective Java “记录所有方法抛出的异常”
应该注意的是,记录每个方法可以抛出的所有未经检查的异常是一种理想,在现实世界中并不总是可以实现。当一个类进行修订时,如果修改导出的方法以引发额外的未经检查的异常,则不违反源代码或二进制兼容性。假设一个类调用另一个独立编写的类的方法。前一个类的作者可能会仔细记录每个方法抛出的所有未经检查的异常,但是如果修改后一个类以抛出额外的未经检查的异常,那么前一个类(没有经过修订)很可能会传播新的未经检查的异常,即使它没有声明它们。
我不明白以前的班级如何传播新的未经检查的例外?Java 语言不要求调用者捕获和传播未经检查的异常。