divvunspell/archive/
error.rs

1use std::{ffi::OsString, io::Error};
2
3#[cfg(feature = "gpt2")]
4use rust_bert::RustBertError;
5
6use crate::transducer::TransducerError;
7
8#[derive(Debug, thiserror::Error)]
9pub enum SpellerArchiveError {
10    #[error("File error")]
11    File(#[source] Error),
12
13    #[error("IO error")]
14    Io(String, #[source] eieio::Error),
15
16    #[error("Transducer error")]
17    Transducer(#[source] TransducerError),
18
19    #[error("Missing metadata")]
20    NoMetadata,
21
22    #[error("Unsupported compression")]
23    UnsupportedCompressed,
24
25    #[error("Unknown error code {0}")]
26    Unknown(u8),
27
28    #[error("Unsupported file extension: {0:?}")]
29    UnsupportedExt(OsString),
30}
31
32#[derive(Debug, thiserror::Error)]
33pub enum PredictorArchiveError {
34    #[error("File error")]
35    File(#[source] Error),
36
37    #[error("IO error")]
38    Io(String, #[source] Error),
39
40    #[cfg(feature = "gpt2")]
41    #[error("Error loading bert model")]
42    Bert(#[from] RustBertError),
43
44    #[error("Error deserialising JSON")]
45    Json(#[from] serde_json::Error),
46
47    #[error("Missing metadata")]
48    NoMetadata,
49
50    #[error("Unsupported compression")]
51    UnsupportedCompressed,
52
53    #[error("Unknown error code {0}")]
54    Unknown(u8),
55
56    #[error("Unsupported file extension: {0:?}")]
57    UnsupportedExt(OsString),
58}