pub struct EnhancedError {
pub error: StarError,
pub context: Box<ErrorContext>,
pub severity: ErrorSeverity,
pub category: ErrorCategory,
pub suggestions: Box<Vec<String>>,
}Expand description
Enhanced error with rich context and formatting
Fields§
§error: StarErrorThe underlying StarError
context: Box<ErrorContext>Enhanced context information
severity: ErrorSeveritySeverity level
category: ErrorCategoryError category for grouping
suggestions: Box<Vec<String>>Recovery suggestions
Implementations§
Source§impl EnhancedError
impl EnhancedError
Sourcepub fn with_context(self, context: ErrorContext) -> Self
pub fn with_context(self, context: ErrorContext) -> Self
Add context to the error
Sourcepub fn with_severity(self, severity: ErrorSeverity) -> Self
pub fn with_severity(self, severity: ErrorSeverity) -> Self
Set the severity level
Sourcepub fn with_suggestion(self, suggestion: impl Into<String>) -> Self
pub fn with_suggestion(self, suggestion: impl Into<String>) -> Self
Add a recovery suggestion
Sourcepub fn with_suggestions(self, suggestions: Vec<String>) -> Self
pub fn with_suggestions(self, suggestions: Vec<String>) -> Self
Add multiple recovery suggestions
Sourcepub fn formatted_message(&self) -> String
pub fn formatted_message(&self) -> String
Generate enhanced error message with context
Trait Implementations§
Source§impl Debug for EnhancedError
impl Debug for EnhancedError
Auto Trait Implementations§
impl Freeze for EnhancedError
impl RefUnwindSafe for EnhancedError
impl Send for EnhancedError
impl Sync for EnhancedError
impl Unpin for EnhancedError
impl UnsafeUnpin for EnhancedError
impl UnwindSafe for EnhancedError
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.