microcad_core/
core_error.rs1use thiserror::Error;
7
8#[derive(Debug, Error)]
10pub enum CoreError {
11 #[error("Not implemented")]
13 NotImplemented,
14
15 #[error("Unknown file extension to export to: {0}")]
17 UnknownFileExtension(String),
18
19 #[error("IO error: {0}")]
21 IoError(#[from] std::io::Error),
22
23 #[error("Path error: {0:?}")]
25 PathError(#[from] core::convert::Infallible),
26
27 #[error("No suitable exporter found for `{0}`")]
29 NoSuitableExporterFound(String),
30
31 #[error("No filename specified for export")]
33 NoFilenameSpecifiedForExport,
34
35 #[error("Directory does not exist: {0}")]
37 DirectoryDoesNotExist(std::path::PathBuf),
38
39 #[error("Invalid rendering precision: {0}")]
41 InvalidRenderPrecision(String),
42
43 #[error("Parse float error: {0}")]
45 Error(#[from] std::num::ParseFloatError),
46
47 #[error("Export missing filename")]
49 ExportMissingFilename,
50
51 #[error("Cannot detect export format from extension")]
53 CannotDetectExportFormatFromExtension,
54}
55
56pub type CoreResult<T> = std::result::Result<T, CoreError>;