diff --git a/70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md b/70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md index 9f96c3c..ad4a6c1 100644 --- a/70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md +++ b/70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md @@ -2,7 +2,7 @@   Java 程序设计语言提供了三种 throwable:受检异常(checked exceptions)、运行时异常(runtime exceptions)和错误(errors)。程序员中存在着什么情况适合使用哪种 throwable 的困惑。虽然这种决定不总是那么清晰,但还是有一些一般性的原则提出了强有力的指导。 -  在决定使用受检异常还是非受检异常时,主要的原则是:**如果期望调用者能够合理的恢复程序运行,对于这种情况就应该使用受检异常。**通过抛出受检异常,强迫调用者在一个 catch 子句中处理该异常,或者把它传播出去。因此,方法中声明要抛出的每个受检异常都是对 API 用户的一个潜在提示:与异常相关联的条件是调用这个方法一种可能结果。 +  在决定使用受检异常还是非受检异常时,主要的原则是: **如果期望调用者能够合理的恢复程序运行,对于这种情况就应该使用受检异常。** 通过抛出受检异常,强迫调用者在一个 catch 子句中处理该异常,或者把它传播出去。因此,方法中声明要抛出的每个受检异常都是对 API 用户的一个潜在提示:与异常相关联的条件是调用这个方法一种可能结果。   API 的设计者让 API 用户面对受检异常,以此强制用户从这个异常条件条件中恢复。用户这可以忽视这样的强制要求,只需要捕获异常即可,但这往往不是个好办法(详见第 77 条)。