use thiserror::Error; use anyhow::{Context, Result}; #[derive(Error, Debug)] pub enum SimpleError { #[error("error status")] ErrorStatus(u32), #[error("unknown error")] Unknown, } fn main() { do_something().unwrap(); } fn do_something() -> Result> { Err(Box::new(SimpleError::Unknown)).with_context(|| format!("Error unknown!"))? }