npsd/
error.rs

1#[doc(hidden)]
2#[cfg(feature = "sync")]
3use npsd_schema::SchemaInternal as Schema;
4
5#[doc(hidden)]
6#[cfg(feature = "async")]
7use npsd_schema::AsyncSchemaInternal as AsyncSchema;
8
9#[doc(hidden)]
10use npsd_schema::InfoInternal as Info;
11
12#[doc(hidden)]
13use crate::PayloadInfo;
14
15#[doc(hidden)]
16use thiserror::Error as AsError;
17
18#[cfg(feature = "sync")]
19use crate::{Middleware, Payload, IntoPayload, FromPayload};
20
21#[cfg(feature = "async")]
22use crate::{AsyncMiddleware, AsyncPayload, AsyncIntoPayload, AsyncFromPayload};
23
24#[cfg_attr(feature = "async", derive(AsyncSchema))]
25#[cfg_attr(feature = "sync", derive(Schema))]
26#[derive(Clone, Info, AsError, PartialEq, Debug)]
27pub enum Error {
28    #[error("Invalid length: expected `{expected}`, found `{found}`")]
29    InvalidLength {
30        expected: usize,
31        found: usize,
32    },
33
34    #[error("Stack error: `{0}`")]
35    Stack(String),
36
37    #[error("Unknown error: `{0}`")]
38    Unknown(String),
39
40    #[error("Invalid UTF-8 sequence")]
41    InvalidUtf8(String),
42
43    #[error("Unknown variant: `{0}`")]
44    UnknownVariant(String),
45
46    #[error("Index out of bounds: `{0}`")]
47    IndexOutOfBounds(usize),
48
49    #[error("Reached max depth of nested types for: `{0}`")]
50    NestedDepthLimit(String),
51
52    #[error("Failed to upgrade Weak reference")]
53    WeakUpgrade,
54
55    #[error("Invalid pointer")]
56    NullPtr,
57
58    #[error("Invalid Time: `{0}`")]
59    Time(String),
60
61    #[error("Traced error: `{0}`, path: `{1}`")]
62    Traced(String, String),
63
64    #[error("External error: {0}")]
65    External(String),
66}