xdl_dataframe/
error.rs

1//! Error types for DataFrame operations
2
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum DataFrameError {
7    #[error("Column not found: {0}")]
8    ColumnNotFound(String),
9
10    #[error("Index out of bounds: {0} (size: {1})")]
11    IndexOutOfBounds(usize, usize),
12
13    #[error("Dimension mismatch: {0}")]
14    DimensionMismatch(String),
15
16    #[error("Invalid operation: {0}")]
17    InvalidOperation(String),
18
19    #[error("Parse error: {0}")]
20    ParseError(String),
21
22    #[error("IO error: {0}")]
23    IoError(#[from] std::io::Error),
24
25    #[error("CSV error: {0}")]
26    CsvError(#[from] csv::Error),
27
28    #[error("JSON error: {0}")]
29    JsonError(#[from] serde_json::Error),
30
31    #[cfg(feature = "parquet-support")]
32    #[error("Parquet error: {0}")]
33    ParquetError(String),
34
35    #[cfg(feature = "avro-support")]
36    #[error("Avro error: {0}")]
37    AvroError(String),
38
39    #[error("XDL error: {0}")]
40    XdlError(#[from] xdl_core::XdlError),
41
42    #[error("Other error: {0}")]
43    Other(String),
44}
45
46pub type DataFrameResult<T> = Result<T, DataFrameError>;