pub struct HivemindError {
pub category: ErrorCategory,
pub code: String,
pub message: String,
pub origin: String,
pub recoverable: bool,
pub recovery_hint: Option<String>,
pub context: HashMap<String, String>,
}Expand description
Structured error with full context.
Fields§
§category: ErrorCategoryError category for classification.
code: StringUnique error code within category.
message: StringHuman-readable error message.
origin: StringComponent and identifier that originated the error.
recoverable: boolWhether this error is potentially recoverable.
recovery_hint: Option<String>Hint for recovery action.
context: HashMap<String, String>Additional context key-value pairs.
Implementations§
Source§impl HivemindError
impl HivemindError
Sourcepub fn new(
category: ErrorCategory,
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn new( category: ErrorCategory, code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a new error with the given parameters.
Sourcepub fn recoverable(self, recoverable: bool) -> Self
pub fn recoverable(self, recoverable: bool) -> Self
Sets whether the error is recoverable.
Sourcepub fn with_context(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_context( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Adds context to the error.
Sourcepub fn system(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn system( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a system error.
Sourcepub fn user(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn user( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a user input error.
Sourcepub fn git(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn git( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a git error.
Sourcepub fn runtime(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn runtime( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a runtime adapter error.
Sourcepub fn agent(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn agent( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates an agent execution error.
Sourcepub fn scope(
code: impl Into<String>,
message: impl Into<String>,
origin: impl Into<String>,
) -> Self
pub fn scope( code: impl Into<String>, message: impl Into<String>, origin: impl Into<String>, ) -> Self
Creates a scope violation error.
Trait Implementations§
Source§impl Clone for HivemindError
impl Clone for HivemindError
Source§fn clone(&self) -> HivemindError
fn clone(&self) -> HivemindError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HivemindError
impl Debug for HivemindError
Source§impl<'de> Deserialize<'de> for HivemindError
impl<'de> Deserialize<'de> for HivemindError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for HivemindError
impl Display for HivemindError
Source§impl Error for HivemindError
impl Error for HivemindError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<&HivemindError> for ErrorOutput
impl From<&HivemindError> for ErrorOutput
Source§fn from(err: &HivemindError) -> Self
fn from(err: &HivemindError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for HivemindError
impl PartialEq for HivemindError
Source§impl Serialize for HivemindError
impl Serialize for HivemindError
impl Eq for HivemindError
impl StructuralPartialEq for HivemindError
Auto Trait Implementations§
impl Freeze for HivemindError
impl RefUnwindSafe for HivemindError
impl Send for HivemindError
impl Sync for HivemindError
impl Unpin for HivemindError
impl UnwindSafe for HivemindError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.