Skip to main content

ras/
error.rs

1//! Error types for ras assembler
2
3#[derive(Debug)]
4pub enum RasError {
5    IoError(String),
6    ParseError(String),
7    EncodingError(String),
8    ObjectError(String),
9    UnsupportedTarget(String),
10    InvalidInput(String),
11}
12
13impl std::fmt::Display for RasError {
14    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15        match self {
16            RasError::IoError(msg) => write!(f, "I/O error: {}", msg),
17            RasError::ParseError(msg) => write!(f, "Parse error: {}", msg),
18            RasError::EncodingError(msg) => write!(f, "Encoding error: {}", msg),
19            RasError::ObjectError(msg) => write!(f, "Object file error: {}", msg),
20            RasError::UnsupportedTarget(msg) => write!(f, "Unsupported target: {}", msg),
21            RasError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
22        }
23    }
24}
25
26impl std::error::Error for RasError {}