Skip to main content

tdbe/
error.rs

1//! Encoding-layer errors for ThetaData Binary Encoding.
2
3use thiserror::Error;
4
5/// Encoding-layer errors for ThetaData Binary Encoding.
6#[derive(Error, Debug)]
7pub enum Error {
8    /// FIT nibble decoding failure (malformed input, unexpected terminator).
9    #[error("FIT decode error: {0}")]
10    Decode(String),
11
12    /// FIE nibble encoding failure (invalid character).
13    #[error("FIE encode error: {0}")]
14    Encode(String),
15
16    /// Value conversion error (e.g., enum from invalid discriminant).
17    #[error("conversion error: {0}")]
18    Conversion(String),
19
20    /// I/O error during read/write operations.
21    #[error("IO error: {0}")]
22    Io(#[from] std::io::Error),
23}
24
25/// Convenience Result type.
26pub type Result<T> = std::result::Result<T, Error>;