camel_core/lifecycle/domain/
error.rs1use std::fmt;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub enum DomainError {
5 InvalidTransition { from: String, to: String },
6 NotFound(String),
7 AlreadyExists(String),
8 InvalidState(String),
9}
10
11impl fmt::Display for DomainError {
12 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13 match self {
14 DomainError::InvalidTransition { from, to } => {
15 write!(f, "invalid transition: {from} -> {to}")
16 }
17 DomainError::NotFound(id) => write!(f, "not found: {id}"),
18 DomainError::AlreadyExists(id) => write!(f, "already exists: {id}"),
19 DomainError::InvalidState(msg) => write!(f, "invalid state: {msg}"),
20 }
21 }
22}
23
24impl std::error::Error for DomainError {}