datasynth_eval/behavioral_fidelity/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum BehavioralFidelityError {
7 #[error("io error: {0}")]
8 Io(#[from] std::io::Error),
9 #[error("parquet error: {0}")]
10 Parquet(String),
11 #[error("schema error: {0}")]
12 Schema(String),
13 #[error("computation error: {0}")]
14 Computation(String),
15 #[error("serde error: {0}")]
16 Serde(String),
17}
18
19impl From<arrow::error::ArrowError> for BehavioralFidelityError {
20 fn from(value: arrow::error::ArrowError) -> Self {
21 BehavioralFidelityError::Parquet(value.to_string())
22 }
23}
24
25impl From<parquet::errors::ParquetError> for BehavioralFidelityError {
26 fn from(value: parquet::errors::ParquetError) -> Self {
27 BehavioralFidelityError::Parquet(value.to_string())
28 }
29}
30
31impl From<serde_json::Error> for BehavioralFidelityError {
32 fn from(value: serde_json::Error) -> Self {
33 BehavioralFidelityError::Serde(value.to_string())
34 }
35}
36
37pub type BehavioralFidelityResult<T> = std::result::Result<T, BehavioralFidelityError>;