sip2/
error.rs

1use std::error;
2use std::fmt;
3
4/// Errors related to SIP2 Client communication
5#[derive(Debug)]
6pub enum Error {
7    DateFormatError,
8    FixedFieldLengthError,
9    MessageFormatError,
10    UnknownMessageError,
11    NetworkError(String),
12    NoResponseError,
13    MissingParamsError,
14}
15
16use self::Error::*;
17
18impl error::Error for Error {
19    fn source(&self) -> Option<&(dyn error::Error + 'static)> {
20        None
21    }
22}
23
24impl fmt::Display for Error {
25    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
26        match *self {
27            DateFormatError => write!(f, "date format error"),
28            FixedFieldLengthError => write!(f, "fixed field length error"),
29            NetworkError(ref s) => write!(f, "network error: {s}"),
30            MessageFormatError => write!(f, "sip message format error"),
31            UnknownMessageError => write!(f, "unknown sip message type"),
32            NoResponseError => write!(f, "no message was received"),
33            MissingParamsError => write!(f, "missing needed parameter values"),
34        }
35    }
36}