在 Rust 中,anyhow
库用于处理错误。如果你想在代码中使用 anyhow
但忽略某些错误,可以使用 ?
操作符。?
操作符会自动将错误向上传播,如果发生错误,它会立即返回错误信息。如果你想让某个错误被忽略,可以使用 ignore
方法。
以下是一个使用 anyhow
的示例,展示了如何忽略某些错误:
use anyhow::{Context, Result}; fn main() -> Result<()> { let _ = some_function() .context("some_function failed") .and_then(|result| { if result == 0 { Ok(()) } else { // 忽略错误 Ok(()) } }); Ok(()) } fn some_function() -> i32 { // 模拟一个可能失败的函数 Err(anyhow!("an error occurred")) }
在这个示例中,我们使用 context
方法为 some_function
添加了一个错误上下文。然后,我们使用 and_then
方法处理结果。如果结果等于 0,我们继续执行;否则,我们使用 Ok(())
忽略错误。这样,即使发生错误,程序也会继续执行。