anyhow
是一個 Rust 庫,用于簡化錯誤處理。要使用 anyhow
記錄錯誤,首先需要在你的項目中添加它作為依賴。在你的 Cargo.toml
文件中添加以下代碼:
[dependencies]
anyhow = "1"
然后,你可以在代碼中使用 anyhow
來記錄錯誤。這里有一個簡單的例子:
use anyhow::{Context, Result};
fn main() -> Result<()> {
let value = 42;
if value == 0 {
return Err(anyhow!("value must not be zero"));
}
println!("Value is: {}", value);
Ok(())
}
在這個例子中,我們使用 anyhow!
宏來創(chuàng)建一個錯誤。當(dāng) value
等于 0 時,我們返回一個包含錯誤信息的 Err
變量。Context
可以用于添加更多關(guān)于錯誤的上下文信息。
如果你想在日志中記錄錯誤,可以使用 log
和 env_logger
庫。首先,將它們添加到你的 Cargo.toml
文件中:
[dependencies]
anyhow = "1"
log = "0.4"
env_logger = "0.9"
然后,在你的代碼中設(shè)置日志記錄器并使用 anyhow
記錄錯誤:
use anyhow::{Context, Result};
use log::{info, error};
use env_logger::Env;
fn main() -> Result<()> {
env_logger::from_env(Env::default().default_filter_or("info")).init();
let value = 42;
if value == 0 {
error!("value must not be zero");
return Err(anyhow!("value must not be zero"));
}
info!("Value is: {}", value);
Ok(())
}
在這個例子中,我們使用 log::error!
宏來記錄錯誤信息。當(dāng) value
等于 0 時,我們記錄錯誤信息并返回一個包含錯誤信息的 Err
變量。