错误处理

错误属于软件中的家常便饭,因此 Rust 提供了数种用于处理出错情形的特性。许多情况下,Rust 要求咱们在咱们代码编译前,知晓某个错误的可能性并采取一些措施。通过确保咱们在将代码部署到生产环境前,发现错误并进行适当处理,这一要求令到咱们的程序更加健壮!

Rust 将错误分为两大类:

  • 可恢复 错误,recoverable errors;
  • 不可恢复 错误, unrecoverable errors。

对于比如 文件未找到 这样的可恢复错误,我们很可能只想将此问题报告给用户并重试该操作。而比如试图访问超出某个数组末尾位置这种不可恢复错误,则总是一些代码问题,bugs,的表征,因此我们会打算立即停止程序。

大多数语言并不区分这两类错误,而是使用异常等机制,以同样方式处理这两种错误。Rust 没有异常。相反,他有着

  • 用于可恢复错误的类型 Result<T, E>
  • 和在程序发生不可恢复错误时,停止执行的 panic! 宏。

本章首先介绍 panic! 宏的调用,然后讨论返回 Result<T, E> 的值。此外,我们将探讨在决定是尝试从错误中恢复,还是停止执行时的一些考量。

Last change: 2025-06-10, commit: ed7447a

小额打赏,赞助 xfoss.com 长存......

微信 | 支付宝

若这里内容有帮助到你,请选择上述方式向 xfoss.com 捐赠。