代码点读机 / Rust / ?

? Rust · 运算符

错误传播运算符;当 Result/Option 是 Err/None 时提前返回,否则解包成功值。

怎么用

表达式?,用于传播错误

小例子

fn 解析(s: &str) -> Result<i32, std::num::ParseIntError> {
    let n: i32 = s.parse()?;
    Ok(n * 2)
}
fn main() { println!("{:?}", 解析("21")); }

运行结果

Ok(42)

提醒:只能在返回 Result、Option 等实现 Try 的函数中使用

官方文档:https://doc.rust-lang.org/reference/expressions/operator-expr.html#r-expr.try

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