Skip to main content

atom_engine/
error.rs

1//! Error types for Atom Engine.
2//!
3//! This module defines all error types that can occur during
4//! template loading, parsing, rendering, and component operations.
5
6use thiserror::Error;
7
8/// All error types that can occur in Atom Engine.
9#[derive(Error, Debug)]
10pub enum Error {
11    #[error("Failed to load templates from {path}: {message}")]
12    TemplateLoad { path: String, message: String },
13
14    #[error("Failed to parse template {name}: {message}")]
15    TemplateParse { name: String, message: String },
16
17    #[error("Template render error in {template}: {message}")]
18    Render { template: String, message: String },
19
20    #[error("Context error: {message}")]
21    Context { message: String },
22
23    #[error("Component error: {message}")]
24    Component { message: String },
25
26    #[error("Slot error: {message}")]
27    Slot { message: String },
28
29    #[error("Props error: {message}")]
30    Props { message: String },
31
32    #[error("Filter error: {message}")]
33    Filter { message: String },
34
35    #[error("Function error: {message}")]
36    Function { message: String },
37}
38
39pub type Result<T> = std::result::Result<T, Error>;