Macro bail
macro_rules! bail {
( $($args:tt)* ) => { ... };
}Expand description
Early exit from the current function with an error.
This helper is equivalent to return Err(format_err!(...)).
See the docs for the format_err! macro for details on
the kinds of errors that can be constructed.
Like anyhow::bail! but for wasmtime::Error.
ยงExample
use wasmtime::{bail, Result};
fn error_on_none(option: Option<u32>) -> Result<u32> {
match option {
None => bail!("`error_on_none` got `None`!"),
Some(x) => Ok(x),
}
}
let x = error_on_none(Some(42)).unwrap();
assert_eq!(x, 42);
let error = error_on_none(None).unwrap_err();
assert_eq!(
error.to_string(),
"`error_on_none` got `None`!",
);