rustalign_common/
error.rs1use std::path::PathBuf;
4
5#[derive(thiserror::Error, Debug)]
7pub enum RustAlignError {
8 #[error("I/O error: {0}")]
10 Io(#[from] std::io::Error),
11
12 #[error("Invalid file format: {0}")]
14 InvalidFormat(String),
15
16 #[error("Invalid nucleotide: {0}")]
18 InvalidNucleotide(u8),
19
20 #[error("Index file corrupted: {path}")]
22 IndexCorrupted {
23 path: PathBuf,
25 },
26
27 #[error("Invalid index version: expected {expected}, got {actual}")]
29 InvalidIndexVersion {
30 expected: u32,
32 actual: u32,
34 },
35
36 #[error("Read length {len} exceeds maximum {max}")]
38 ReadTooLong {
39 len: usize,
41 max: usize,
43 },
44
45 #[error("Alignment failed: {0}")]
47 AlignmentFailed(String),
48
49 #[error("Out of memory: requested {requested} bytes")]
51 OutOfMemory {
52 requested: usize,
54 },
55
56 #[error("Invalid argument: {0}")]
58 InvalidArgument(String),
59
60 #[error("{0}")]
62 Other(String),
63}
64
65pub type Result<T> = std::result::Result<T, RustAlignError>;