MST

星途 面试题库

面试题:Rust中如何对自定义错误类型进行文档化错误处理逻辑

在Rust中,假设你定义了一个自定义错误类型`MyError`,它包含两个变体`IoError(std::io::Error)`和`ParseError`。请说明如何在涉及到`MyError`的函数中,通过文档化的方式清晰表达错误处理逻辑,例如函数`read_config`,该函数读取一个配置文件并返回解析后的配置数据,如果读取文件失败返回`IoError`,解析文件内容失败返回`ParseError`。
45.0万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
/// 读取配置文件并返回解析后的配置数据。
///
/// # 错误
/// - 如果读取文件失败,返回 `MyError::IoError`,此错误包含底层的 `std::io::Error`。
/// - 如果解析文件内容失败,返回 `MyError::ParseError`。
fn read_config() -> Result<ConfigData, MyError> {
    // 函数具体实现
}

// 自定义错误类型
#[derive(Debug)]
enum MyError {
    IoError(std::io::Error),
    ParseError,
}

// 配置数据类型
struct ConfigData;