Macro error_chain::bail
[−]
[src]
macro_rules! bail { ($e:expr) => { ... }; ($fmt:expr, $($arg:tt)+) => { ... }; }
Exits a function early with an error
The bail!
macro provides an easy way to exit a function.
bail!(expr)
is equivalent to writing.
return Err(expr.into());
And as shorthand it takes a formatting string a la println!
:
bail!("bad number: {}", n);
Examples
Bailing on a custom error:
error_chain! { errors { FooError } } fn foo() -> Result<()> { if bad_condition() { bail!(ErrorKind::FooError); } Ok(()) }
Bailing on a formatted string:
error_chain! { } fn foo() -> Result<()> { if let Some(bad_num) = bad_condition() { bail!("so bad: {}", bad_num); } Ok(()) }