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 library: {0}")]
11    LibraryLoadError(#[from] libloading::Error),
12
13    #[error("Failed to load model file: {0}")]
14    ModelFileLoadError(String),
15
16    #[error("Invalid model decryption key: {0}")]
17    InvalidModelKey(String),
18
19    #[error("Failed to run ocr API {result}, result: {message}")]
20    OcrApiError { result: i64, message: String },
21
22    #[error("Other error: {0}")]
23    Other(String),
24}