Macro eyre::bail [−][src]
macro_rules! bail {
($msg : literal $(,) ?) => { ... };
($err : expr $(,) ?) => { ... };
($fmt : expr, $($arg : tt) *) => { ... };
}
Expand description
Return early with an error.
This macro is equivalent to return Err(From::from($err))
.
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);
}