macro_rules! rpc_try {
($result:expr, $id:expr) => { ... };
($result:expr, $id:expr, $error_code:expr) => { ... };
($result:expr, $id:expr, $error_code:expr, $message:expr) => { ... };
}Expand description
Convert Result types to JSON-RPC responses with error logging
This macro logs detailed errors server-side and returns a generic error. For custom error messages, provide them explicitly.
ยงUsage:
rpc_method!(DivideMethod, "divide", |params, id| {
let [a, b]: [f64; 2] = rpc_params!(params, id => [f64; 2]);
let result = if b != 0.0 { Ok(a / b) } else { Err("Division by zero") };
rpc_try!(result, id)
});