Skip to main content

markovify_rs/
errors.rs

1//! Error types for markov-rs
2
3use thiserror::Error;
4
5/// Errors that can occur when working with Markov chains
6#[derive(Error, Debug)]
7pub enum MarkovError {
8    /// Errors related to invalid parameters passed to functions
9    #[error("Invalid parameter: {0}")]
10    ParamError(String),
11
12    /// Errors occurring during JSON serialization or deserialization
13    #[error("Invalid JSON: {0}")]
14    JsonError(#[from] serde_json::Error),
15
16    /// Errors related to invalid model format during loading
17    #[error("Invalid model format: {0}")]
18    ModelFormatError(String),
19
20    /// Errors occurring when combining models with different state sizes
21    #[error("State size mismatch: {0}")]
22    StateSizeError(String),
23
24    /// Errors occurring during model combination
25    #[error("Model combination error: {0}")]
26    CombineError(String),
27
28    /// Errors related to failed sentence generation
29    #[error("Sentence generation failed: {0}")]
30    GenerationError(String),
31}
32
33pub type Result<T> = std::result::Result<T, MarkovError>;