错误处理
错误处理是处理可能失败的过程。例如,未能读取文件然后继续使用该不良输入显然会带来问题。注意到并明确管理这些错误可以避免程序剩余部分出现各种陷阱。
Rust 中有多种处理错误的方式,这些方式将在以下小节中描述。它们或多或少都有细微的差异和不同的用例。通常而言
明确的 panic 主要用于测试和处理不可恢复的错误。对于原型开发,它可能会有用,例如在处理尚未实现的函数时,但在这种情况下,更具描述性的 unimplemented 更好。在测试中,panic 是明确失败的一种合理方式。
Option 类型用于值是可选的或缺少值不是错误条件的情况。例如,目录的父目录 - / 和 C: 就没有。处理 Option 时,在原型开发和绝对确定有值的情况下,使用 unwrap 是可以的。然而,expect 更为有用,因为它允许你在出现问题时指定错误消息。
当存在事情可能出错并且调用者必须处理该问题的可能性时,使用 Result。你也可以对它们使用 unwrap 和 expect(请不要这样做,除非是测试或快速原型)。
有关错误处理的更严格讨论,请参阅官方书籍中的错误处理部分。