bio_streams/
error.rs

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 {}