advent_of_utils_cli/error/
mod.rs1mod database;
2mod input;
3mod loading;
4mod solution;
5
6pub use database::DatabaseError;
7pub use input::InputError;
8pub use loading::LoadingError;
9pub use solution::SolutionError;
10
11use thiserror::Error;
12
13#[derive(Error, Debug)]
14pub enum AocError {
15 #[error("Input error: {0}")]
16 Input(#[from] InputError),
17
18 #[error("Solution error: {0}")]
19 Solution(#[from] SolutionError),
20
21 #[error("Loading error: {0}")]
22 Loading(#[from] LoadingError),
23
24 #[error("Database error: {0}")]
25 Database(#[from] DatabaseError),
26
27 #[error("Invalid part number: {0}")]
28 InvalidPart(u8),
29
30 #[error("Invalid year {year}: {reason}")]
31 InvalidYear { year: i32, reason: String },
32
33 #[error("Invalid day {day} for year {year}: {reason}")]
34 InvalidDay { year: i32, day: u8, reason: String },
35}