Skip to main content

pnc_engine/
error.rs

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}