Rust 中如何自定义错误类型?

· 约 3 分钟读完 · 第 85 / 179 章

推荐答案

在 Rust 中,自定义错误类型通常通过实现 std::error::Error trait 来完成。以下是一个简单的示例:

本题详细解读

1. 定义自定义错误类型

首先,我们定义了一个结构体 MyCustomError,它包含一个 details 字段,用于存储错误信息。

2. 实现构造函数

为了方便创建自定义错误,我们实现了一个 new 函数:

3. 实现 fmt::Display trait

为了让错误类型能够被打印出来,我们需要实现 fmt::Display trait:

4. 实现 std::error::Error trait

为了让自定义错误类型能够与 Rust 的错误处理机制兼容,我们需要实现 std::error::Error trait:

5. 使用自定义错误类型

现在,我们可以在代码中使用这个自定义错误类型了:

在这个示例中,might_fail 函数返回一个 Result,其中错误类型是我们自定义的 MyCustomError。如果函数返回错误,我们可以在 main 函数中捕获并打印错误信息。