pub struct EngineError {
pub class: EngineErrorClass,
pub message: String,
pub source: Option<Box<dyn Error + Send + Sync>>,
}Expand description
An error reported by an engine across the seam (ADR-0002 / ADR-0009).
Fields§
§class: EngineErrorClassFault classification, folded into CoreError by the dispatcher.
message: StringHuman-readable description of the failure.
source: Option<Box<dyn Error + Send + Sync>>Underlying cause, when one exists.
Implementations§
Source§impl EngineError
impl EngineError
Sourcepub fn infra(message: impl Into<String>) -> Self
pub fn infra(message: impl Into<String>) -> Self
An infrastructure failure (EngineErrorClass::Infra).
Sourcepub fn assert_failed(message: impl Into<String>) -> Self
pub fn assert_failed(message: impl Into<String>) -> Self
An assertion failure (EngineErrorClass::AssertFailed).
Sourcepub fn user_input(message: impl Into<String>) -> Self
pub fn user_input(message: impl Into<String>) -> Self
A user-input failure (EngineErrorClass::UserInput).
Sourcepub fn setup(message: impl Into<String>) -> Self
pub fn setup(message: impl Into<String>) -> Self
A setup/configuration failure (EngineErrorClass::Setup).
Sourcepub fn with_source(self, source: impl Error + Send + Sync + 'static) -> Self
pub fn with_source(self, source: impl Error + Send + Sync + 'static) -> Self
Attach an underlying cause.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<EngineError> for CoreError
impl From<EngineError> for CoreError
Source§fn from(err: EngineError) -> Self
fn from(err: EngineError) -> Self
Fold the engine fault into the core taxonomy (ADR-0009). The cause
chain rides along only for system faults — deliberate flattening:
assert/user failures carry complete user-facing messages, and their
source (when any exists) is engine internals that would only repeat
the message.