macro_rules! ensure {
($cond:expr, $($args:tt)*) => { ... };
}Expand description
Returns early with an Error if a condition is not satisfied.
This macro is equivalent to if !$cond { return Err(anyhow!($args...)); }.
ยงExamples
use anyhow_tracing::{ensure, Result};
fn example(value: i32) -> Result<()> {
ensure!(value > 0, "Value must be positive");
ensure!(value < 200, user_id = %"123", "Value {} is too large", value);
ensure!(value < 300, value, "Value is too large");
// Multiple fields can be combined
ensure!(value <= 100, value, max_allowed = "100", "Number must be at most 100");
Ok(())
}