Skip to main content

util_err

Macro util_err 

Source
macro_rules! util_err {
    (UtilErrorType :: $variant:ident, $msg:expr) => { ... };
    (UtilErrorType :: $variant:ident, $msg:expr, $src:expr) => { ... };
    (UtilErrorType :: $variant:ident $payload:tt, $msg:expr) => { ... };
    (UtilErrorType :: $variant:ident $payload:tt, $msg:expr, $src:expr) => { ... };
    ($variant:ident $payload:tt, $msg:expr) => { ... };
    ($variant:ident $payload:tt, $msg:expr, $src:expr) => { ... };
    ($variant:ident, $msg:expr) => { ... };
    ($variant:ident, $msg:expr, $src:expr) => { ... };
}
Expand description

Create a UtilError with less boilerplate.

§Examples

// Without source
let err = util_err!(Generic, "message".to_string());

// With source
let err = util_err!(Generic, "message".to_string(), source_err);

// With format!
let err = util_err!(Generic, format!("Failed: {}", detail));

// With tuple variant payload
let err = util_err!(UnauthorizedWithReason(reason), "message".to_string());

// With struct variant payload
let err = util_err!(BadRequestWithData { code: "x" }, "message".to_string());