macro_rules! attempt { ($code:expr) => { ... }; }
Expand description
Similar to ?, attempt! is used for propagating Status.
attempt! return early if it is not Status::ok().
use ckb_sync::{Status, StatusCode, attempt};
fn return_early(status: Status) -> Status {
attempt!(status);
StatusCode::OK.with_context("bar")
}
assert_eq!(return_early(StatusCode::OK.into()).to_string(), "OK(100): bar");
assert_eq!(return_early(StatusCode::Ignored.into()).to_string(), "Ignored(101)");