Result枚举
enum Result<T, E>{
Ok(T),//T:操作成功情况下,Ok变体里返回的数据类型
Err(E),
}
use std::fs::File;
fn main(){
let f = File::open("hello.txt");
let f = match f{
Ok(file)=>file,
Err(error)=>{
panic!("Error opening file {:#?}", error);
},
};
}
unwrap
是match表达式的一个快捷方法:
如果Result结果是Ok,返回Ok里面的值,若是Err则执行panic!
let f = File::open("hello.txt").unwrap();
1行代码代替了上方5行代码
expect
unwrap的优化,能够自定义报错信息
use std::fs::File;
fn main(){
let f = File::open("hello.txt").expect("无法打开文件");
}
传播错误
?运算符:传播错误的一种快捷方式