1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum AltiumError {
8 #[error("I/O error: {0}")]
10 Io(#[from] std::io::Error),
11
12 #[error("Invalid parameter format: {0}")]
14 InvalidParameter(String),
15
16 #[error("Invalid coordinate format: {0}")]
18 InvalidCoordinate(String),
19
20 #[error("Invalid unit: {0}")]
22 InvalidUnit(String),
23
24 #[error("Invalid layer: {0}")]
26 InvalidLayer(String),
27
28 #[error("Invalid record type: {0}")]
30 InvalidRecord(String),
31
32 #[error("Missing required data: {0}")]
34 MissingData(String),
35
36 #[error("Decompression error: {0}")]
38 Decompression(String),
39
40 #[error("Encoding error: {0}")]
42 Encoding(String),
43
44 #[error("Unexpected end of stream")]
46 UnexpectedEof,
47
48 #[error("Parse error: {0}")]
50 Parse(String),
51
52 #[error("Validation error: {0}")]
54 Validation(String),
55}
56
57pub type Result<T> = std::result::Result<T, AltiumError>;