在Rust中传播错误的方式有两种:panic和返回Result类型。
示例代码如下:
use std::fs::File;
use std::io::Read;
fn read_file(path: &str) -> Result<String, std::io::Error> {
let mut file = File::open(path)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
fn main() {
match read_file("example.txt") {
Ok(contents) => println!("File contents: {}", contents),
Err(err) => eprintln!("Error reading file: {}", err),
}
}
在上述示例中,read_file函数尝试打开指定路径的文件并读取其内容。如果操作成功,将文件内容包装在Ok变体中返回;如果操作失败,将错误信息包装在Err变体中返回。在main函数中,通过匹配Result类型的返回值,可以根据操作的成功与否进行不同的处理。
领取专属 10元无门槛券
手把手带您无忧上云