oneocr_rs/
errors.rs

1// Define a custom error type named OneOcrError using thiserror crate for better error handling
2#[derive(Debug, thiserror::Error)]
3pub enum OneOcrError {
4    #[error("Failed to open image: {0}")]
5    ImageOpenError(#[from] image::ImageError),
6
7    #[error("Image format not supported: {0}")]
8    ImageFormatError(String),
9
10    #[error("Failed to load model file: {0}")]
11    ModelFileLoadError(String),
12
13    #[error("Invalid model decryption key: {0}")]
14    InvalidModelKey(String),
15
16    #[error("Failed to run OCR API (code: {result}): {message}")]
17    OcrApiError { result: i32, message: String },
18
19    #[error("Other error: {0}")]
20    Other(String),
21}