无异常的错误处理
错误是软件中不可避免的事实,因此 X 语言有一些处理错误发生情况的特性。在许多情况下,X 语言要求你承认错误的可能性,并在代码编译之前采取一些行动。这个要求使你的程序更加健壮;它确保你在将代码部署到生产环境之前发现错误并适当地处理它们!
X 语言将错误分为两大类:可恢复的和不可恢复的错误。对于可恢复的错误,例如未找到文件,我们很可能只想将问题报告给用户并重试操作。不可恢复的错误总是 bug 的症状,例如尝试访问超出数组末尾的位置,因此我们希望立即停止程序。
大多数语言不会区分这两类错误,而是使用异常等机制统一处理它们。X 语言没有异常。相反,它有用于可恢复错误的 Result<T, E> 类型和用于在遇到不可恢复错误时停止执行的 panic 宏。本章将首先介绍调用 panic,然后讨论返回 Result<T, E> 值。此外,我们将探讨在决定是尝试从错误中恢复还是 panic 时的注意事项。