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