我们提供安全,免费的手游软件下载!
rust处理错误时,不使用try catch,而是采用Result
在rust错误处理的文档中,内容较多,难以理解。举例来说,如果编写一个方法读取文件内容:
fn read_file_to_string(file_path: String) -> Result{
let mut file = File::open(file_path)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
上述代码在文件不存在时,也可以很好地返回异常信息。
调用代码:
let r = read_file_to_string(r"d:\1111.txt".to_string());
match r {
Ok(str) => println!("OK: {str}"),
Err(e) => println!("Error: {e}"),
};
如果文件不存在,会输出信息:
这种异常处理过程不复杂,分为三步:
自定义的函数要返回Result
返回Result的函数时,后面加上问号
在最上层,使用match处理结果
热门资讯