主题
错误处理 Option / Result
Rust 使用 Option
和 Result
类型来安全地处理可能失败或缺失的情况。
Option 类型
表示值存在 (Some
) 或不存在 (None
):
rust
let some_number = Some(5);
let no_number: Option<i32> = None;
if let Some(n) = some_number {
println!("值是 {}", n);
} else {
println!("没有值");
}
Result 类型
用于错误处理,包含 Ok
和 Err
:
rust
fn divide(a: f64, b: f64) -> Result<f64, String> {
if b == 0.0 {
Err(String::from("除数不能为零"))
} else {
Ok(a / b)
}
}
match divide(10.0, 2.0) {
Ok(result) => println!("结果是 {}", result),
Err(e) => println!("错误: {}", e),
}