Skip to main content

seshat_core/
error.rs

1/// Errors originating from core type operations.
2#[derive(Debug, thiserror::Error)]
3pub enum CoreError {
4    /// An invalid confidence value was provided.
5    #[error("Invalid confidence value: {value} (must be between 0.0 and 1.0)")]
6    InvalidConfidence { value: f64 },
7
8    /// Serialization or deserialization failed.
9    #[error("Serialization error: {0}")]
10    Serialization(String),
11
12    /// A required field was missing.
13    #[error("Missing required field: {field}")]
14    MissingField { field: String },
15}
16
17/// Error returned when parsing a string into an enum variant fails.
18#[derive(Debug, Clone, thiserror::Error)]
19#[error("unknown {type_name}: {value:?}")]
20pub struct ParseEnumError {
21    pub type_name: &'static str,
22    pub value: String,
23}