[][src]Macro ckb_sync::attempt

macro_rules! attempt {
    ($code:expr) => { ... };
}

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)");