[−][src]Macro kubos_service::process_errors
Iterate through a failure::Error and concatenate the error and all its causes into a single string
Examples
use kubos_service::process_errors; use failure::{Error, Fail}; #[derive(Clone, Debug, Fail)] pub enum RootError { #[fail(display = "RootError: {}", message)] RootError { message: String }, } #[derive(Clone, Debug, Fail)] pub enum TopError { #[fail(display = "TopError: {}", message)] Error { #[fail(cause)] cause: RootError, message: String, }, } fn main() { let chain: TopError = TopError::Error { cause: RootError::RootError { message: "root".to_owned() }, message: "top".to_owned(), }; let chain_clone = chain.clone(); let errors = process_errors!(chain); assert_eq!(errors, "TopError: top, RootError: root"); let errors = process_errors!(chain_clone, '\n'); assert_eq!(errors, "TopError: top\nRootError: root"); }