divvunspell/archive/
error.rs1use 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}