mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-14 21:11:31 +08:00
Merge pull request #607 from zhenzhenChange/optimized-translation-ch09
optimized-translation-ch09
This commit is contained in:
commit
71dd2450f3
@ -4,8 +4,8 @@
|
|||||||
> <br>
|
> <br>
|
||||||
> commit 199ca99926f232ee7f581a917eada4b65ff21754
|
> commit 199ca99926f232ee7f581a917eada4b65ff21754
|
||||||
|
|
||||||
错误是软件中无可否认的事实,所以 Rust 有很多特性来处理出现错误的情况在很多情况下,Rust 要求你承认出错的可能性,并在编译代码之前就采取行动。这些要求使得程序更为健壮,它们确保了你会在将代码部署到生产环境之前就发现错误并正确地处理它们!
|
错误是软件中不可否认的事实,所以 Rust 有一些处理出错情况的特性。在许多情况下,Rust 要求你承认错误的可能性,并在你的代码编译前采取一些行动。这一要求使你的程序更加健壮,因为它可以确保你在将代码部署到生产环境之前就能发现错误并进行适当的处理。
|
||||||
|
|
||||||
Rust 将错误组合成两个主要类别:**可恢复错误**(*recoverable*)和 **不可恢复错误**(*unrecoverable*)。可恢复错误通常我们希望向用户报告错误并重试操作,比如未找到文件(*file not found*)错误。不可恢复错误通常是 bug 的同义词,比如尝试访问超过数组结尾的位置。
|
Rust 将错误分为两大类:**可恢复的**(*recoverable*)`和**不可恢复的**(*unrecoverable*)错误。对于一个可恢复的错误,比如文件未找到的错误,我们很可能只想向用户报告问题并重试操作。不可恢复的错误总是 bug 出现的征兆,比如试图访问一个超过数组末端的位置,因此我们要立即停止程序。
|
||||||
|
|
||||||
大部分语言并不区分这两类错误,并采用类似异常这样方式统一处理他们。Rust 并没有异常,但是,有可恢复错误 `Result<T, E>` ,和不可恢复(遇到错误时停止程序执行)错误 `panic!`。这一章会首先介绍 `panic!` 调用,接着会讲到如何返回 `Result<T, E>`。此外,我们将探讨决定是尝试从错误中恢复还是停止执行时的注意事项。
|
大多数语言并不区分这两种错误,并采用类似异常这样方式统一处理他们。Rust 没有异常。相反,它有 `Result<T, E>` 类型,用于处理可恢复的错误,还有 `panic!` 宏,在程序遇到不可恢复的错误时停止执行。本章首先介绍 `panic!` 调用,接着会讲到如何返回 `Result<T, E>`。此外,我们将探讨在决定是尝试从错误中恢复还是停止执行时的注意事项。
|
||||||
|
Loading…
Reference in New Issue
Block a user