在 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(())
忽略错误。这样,即使发生错误,程序也会继续执行。