From 70e722bca9e60ce132f8ec60f9a265c58b618627 Mon Sep 17 00:00:00 2001 From: Joe <736777445@qq.com> Date: Wed, 6 Mar 2019 13:32:12 +0800 Subject: [PATCH] =?UTF-8?q?Update=2070.=20=E5=AF=B9=E5=8F=AF=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E7=9A=84=E6=83=85=E5=86=B5=E4=BD=BF=E7=94=A8=E5=8F=97?= =?UTF-8?q?=E6=A3=80=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=AF=B9=E7=BC=96=E7=A8=8B?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BD=BF=E7=94=A8=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E5=BC=82=E5=B8=B8.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 条)。