代码点读机 / Rust / map_err

map_err Rust · 常用方法

当 Result 是 Err 时,把错误值映射成另一种类型;Ok 保持不变。

怎么用

r.map_err(|e| ...);,用于转换错误类型

小例子

let r: Result<i32, &str> = Err("oops");
let r2 = r.map_err(|e| e.to_string());
println!("{:?}", r2);

运行结果

Err("oops")

提醒:统一错误类型或给错误加上下文时常用

官方文档:https://doc.rust-lang.org/std/result/enum.Result.html#method.map_err

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条