diff --git a/src/Ch09_Error_Handling.md b/src/Ch09_Error_Handling.md index 25a2e14..24b8073 100644 --- a/src/Ch09_Error_Handling.md +++ b/src/Ch09_Error_Handling.md @@ -1,23 +1,21 @@ # 错误处理 -错误属于软件中的家常便饭,因此 Rust 提供了数种用于处理出错情形的特性。许多情况下,Rust 要求咱们在咱们代码编译前,知晓某个错误的可能性并采取一些措施。通过确保咱们在将代码部署到生产环境前,发现错误并进行适当处理,这一要求令到咱们的程序更加健壮! +错误属于软件中不可避免的事实,因此 Rust 有着数项特性用于处理出错情形。许多情况下,Rust 要求咱们在咱们的代码将要编译前,知晓错误的可能性并采取一些措施。这一要求通过确保咱们在将代码部署到生产环境前,发现错误并予以适当处理,让咱们的程序更加健壮! -Rust 将错误分为两大类: +Rust 分组错误为两个大类: -- *可恢复* 错误,*recoverable* errors; -- 与 *不可恢复* 错误, *unrecoverable* errors。 +- 可恢复错误,*recoverable* errors; +- 与不可恢复错误, *unrecoverable* errors。 -对于比如 *文件未找到* 这样的可恢复错误,我们很可能只想将此问题报告给用户并重试该操作。而比如试图访问超出某个数组末尾位置这种不可恢复错误,则总是一些代码问题,bugs,的表征,因此我们会打算立即停止程序。 +对于可恢复错误,比如 *文件未找到* 错误,我们很可能只想报告问题给用户并重试操作。而不可恢复错误总是一些 bug 的征兆,因此我们会希望立即停止程序。 - -大多数语言并不区分这两类错误,而是使用异常等机制,以同样方式处理这两种错误。**Rust 没有异常**。相反,他有着 +大多数语言都未区分这两类错误,并使用诸如异常等机制以同样方式处理这两种错误。Rust 没有异常。相反,他有着 - 用于可恢复错误的类型 `Result`; -- 和在程序发生不可恢复错误时,停止执行的 `panic!` 宏。 - - -本章首先介绍 `panic!` 宏的调用,然后讨论返回 `Result` 的值。此外,我们将探讨在决定是尝试从错误中恢复,还是停止执行时的一些考量。 +- 与在程序遇到不可恢复错误时停止执行的 `panic!` 宏。 + +这一章首先介绍调用 `panic!` 宏,然后讨论返回 `Result` 的值。此外,我们将探讨在决定是否尝试从错误中恢复,还是停止执行时的一些考量。