1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum MarkovError {
8 #[error("Invalid parameter: {0}")]
10 ParamError(String),
11
12 #[error("Invalid JSON: {0}")]
14 JsonError(#[from] serde_json::Error),
15
16 #[error("Invalid model format: {0}")]
18 ModelFormatError(String),
19
20 #[error("State size mismatch: {0}")]
22 StateSizeError(String),
23
24 #[error("Model combination error: {0}")]
26 CombineError(String),
27
28 #[error("Sentence generation failed: {0}")]
30 GenerationError(String),
31}
32
33pub type Result<T> = std::result::Result<T, MarkovError>;