soph_core/error/
container.rs1#[derive(thiserror::Error, Debug)]
2pub enum ContainerError {
3 #[cfg(feature = "anyhow")]
4 #[error(transparent)]
5 Anyhow(#[from] anyhow::Error),
6
7 #[error(transparent)]
8 Box(#[from] crate::BoxError),
9
10 #[error("[instance] `{instance}` boot failed: {source}")]
11 Boot {
12 instance: String,
13 #[source]
14 source: Box<Self>,
15 },
16
17 #[error("[instance] `{instance}` clean failed: {source}")]
18 Clean {
19 instance: String,
20 #[source]
21 source: Box<Self>,
22 },
23
24 #[cfg(feature = "eyre")]
25 #[error(transparent)]
26 Eyre(#[from] eyre::Report),
27
28 #[error("{0}")]
29 Message(String),
30
31 #[error("[instance] `{instance}` register failed: {source}")]
32 Register {
33 instance: String,
34 #[source]
35 source: Box<Self>,
36 },
37
38 #[error("[instance] `{instance}` not registered")]
39 Resolve { instance: String },
40}
41
42impl ContainerError {
43 pub fn message(msg: impl Into<String>) -> Self {
44 Self::Message(msg.into())
45 }
46}