fix: ch09-03 typo

pull/683/head
_lmmmmmm 2 years ago
parent 0eb12b7e4b
commit 9ee753a5c8

@ -34,7 +34,7 @@
* 在此之后代码的运行依赖于不处于这种有害状态,而不是在每一步都检查是否有问题。
* 没有可行的手段来将有害状态信息编码进所使用的类型中的情况。我们会在第十七章 [“将状态和行为编码为类型”][encoding] 部分通过一个例子来说明我们的意思。
如果别人调用你的代码并传递了一个没有意义的值,尽最大可能返回一个错误,如此库的用户就可以决定在这种情况下如何处理。然而在继续执行代码是不安全或有害的情况下,最好的选择可能是调用 `panic!` 并警告库的用户他们的代码中有 bug这样他们就会在开发时进行修复。类似的如果你正在调用不受你控制的外部代码并且它返回了一个你无法修复的无效状态那么 `panic!` 往往是合适的。
如果别人调用你的代码并传递了一个没有意义的值,尽最大可能返回一个错误,如此库的用户就可以决定在这种情况下如何处理。然而在继续执行代码是不安全或有害的情况下,最好的选择可能是调用 `panic!` 并警告库的用户他们的代码中有 bug这样他们就会在开发时进行修复。类似的如果你正在调用不受你控制的外部代码并且它返回了一个你无法修复的无效状态那么 `panic!` 往往是合适的。
然而当错误预期会出现时,返回 `Result` 仍要比调用 `panic!` 更为合适。这样的例子包括解析器接收到格式错误的数据,或者 HTTP 请求返回了一个表明触发了限流的状态。在这些例子中,应该通过返回 `Result` 来表明失败预期是可能的,这样将有害状态向上传播,调用者就可以决定该如何处理这个问题。使用 `panic!` 来处理这些情况就不是最好的选择。

Loading…
Cancel
Save