gcd_cli/
error.rs

1use std::{error::Error, fmt};
2
3#[derive(Debug)]
4pub struct GcdError {
5    message: String,
6}
7
8impl Error for GcdError {}
9
10impl GcdError {
11    pub fn new(message: String) -> GcdError {
12        GcdError { message }
13    }
14}
15
16impl fmt::Display for GcdError {
17    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
18        write!(f, "gcd-error:{}", &self.message)
19    }
20}
21
22
23#[cfg(test)]
24mod test {
25    use super::*;
26    #[test]
27    fn display_error() {
28        let error = GcdError::new("test error message".to_owned());
29
30        assert_eq!(error.to_string(), "gcd-error:test error message");
31    }
32}