1use core::error;
2use core::fmt;
3
4#[derive(Debug, PartialEq)]
5pub enum FastxError {
6 InvalidSeparationLine,
7 InvalidId(String),
8 TruncatedRecord,
9 InvalidSequence(String),
10 InvalidQuality,
11 FileError,
12}
13
14impl fmt::Display for FastxError {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 match self {
17 FastxError::InvalidSeparationLine => write!(f, "Invalid separation character"),
18 FastxError::InvalidId(id) => write!(f, "Invalid id: {id}"),
19 FastxError::TruncatedRecord => write!(f, "Truncated record"),
20 FastxError::InvalidSequence(seq) => write!(f, "Invalid sequence: {seq}"),
21 FastxError::InvalidQuality => write!(f, "Invalid quailty string"),
22 FastxError::FileError => write!(f, "File error"),
23 }
24 }
25}
26
27impl error::Error for FastxError {}