1use thiserror::Error;
2
3#[derive(Debug, Error)]
5pub enum PncError {
6 #[error("division by zero")]
7 DivisionByZero,
8 #[error("precision budget exceeded")]
9 PrecisionBudgetExceeded,
10 #[error("invalid unit conversion")]
11 InvalidUnitConversion,
12 #[error("parse error: {0}")]
13 Parse(String),
14 #[error("unknown command: {0}")]
15 UnknownCommand(String),
16 #[error("clipboard unavailable")]
17 ClipboardUnavailable,
18 #[error("stack underflow")]
19 StackUnderflow,
20 #[error("unsupported schema version")]
21 UnsupportedSchemaVersion,
22 #[error("io error: {0}")]
23 Io(#[from] std::io::Error),
24}