[−][src]Macro anyhow::bail
Return early with an error.
This macro is equivalent to return Err(
[anyhow!($args...)
][anyhow!])
.
The surrounding function's or closure's return value is required to be
Result<_,
[anyhow::Error
][crate::Error]>
.
Example
if !has_permission(user, resource) { bail!("permission denied for accessing {}", resource); }
#[derive(Error, Debug)] enum ScienceError { #[error("recursion limit exceeded")] RecursionLimitExceeded, ... } if depth > MAX_DEPTH { bail!(ScienceError::RecursionLimitExceeded); }