1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
use std::error::Error; use std::fmt::{Display, Formatter, Result}; #[derive(Debug)] pub struct HoundifyError { inner: Box<dyn Error>, } impl Display for HoundifyError { fn fmt(&self, f: &mut Formatter) -> Result { write!( f, "An error occurred during the Houndify request: {:#?}", self.inner ) } } impl Error for HoundifyError {} impl HoundifyError { pub fn new(inner: Box<dyn Error>) -> Self { HoundifyError { inner } } } #[derive(Debug)] pub struct InvalidRequestInfoError<'a> { msg: &'a str, } impl<'a> InvalidRequestInfoError<'a> { pub fn new(msg: &'a str) -> Self { InvalidRequestInfoError { msg } } } impl<'a> Display for InvalidRequestInfoError<'a> { fn fmt(&self, f: &mut Formatter) -> Result { f.write_str(self.msg) } }