Skip to main content

an_err

Macro an_err 

Source
macro_rules! an_err {
    ($kind:expr) => { ... };
    ($kind:expr, $fmt:literal $(, $arg:expr)* => $inner:expr $(,)?) => { ... };
    ($kind:expr, $fmt:literal $(, $arg:expr)* $(,)?) => { ... };
}
Expand description

Ergonomic constructor and chaining macro for AnErr.

ยงForms

FormEquivalent to
an_err!(Kind)AnErr::new(Kind)
an_err!(Kind, "reason")AnErr::with_fmt(Kind, ...)
an_err!(Kind, "reason {}", arg, ...)AnErr::with_fmt(Kind, ...)
an_err!(Kind, "reason" => inner)inner.context(Kind, ...)
an_err!(Kind, "reason {}", arg => inner)inner.context(Kind, ...)

All forms capture the call site via #[track_caller].