zen_expression/vm/
error.rs1use thiserror::Error;
2
3#[derive(Debug, PartialEq, Eq, Clone, Error)]
4pub enum VMError {
5 #[error("Opcode {opcode}: {message}")]
6 OpcodeErr { opcode: String, message: String },
7
8 #[error("Opcode out of bounds")]
9 OpcodeOutOfBounds { index: usize, bytecode: String },
10
11 #[error("Stack out of bounds")]
12 StackOutOfBounds { stack: String },
13
14 #[error("Failed to parse date time")]
15 ParseDateTimeErr { timestamp: String },
16
17 #[error("Number conversion error")]
18 NumberConversionError,
19}
20
21pub(crate) type VMResult<T> = Result<T, VMError>;