pub struct StructuredError { /* private fields */ }Expand description
Type-erased error with chained sources, attachments, and diagnostic rendering.
Implementations§
Source§impl StructuredError
impl StructuredError
Sourcepub fn new<T: StdError + Send + Sync + 'static>(context: T) -> Self
pub fn new<T: StdError + Send + Sync + 'static>(context: T) -> Self
Create from any error, capturing its diagnostic code before type erasure.
Sourcepub fn change_context<T: StdError + Send + Sync + 'static>(
self,
new_context: T,
) -> StructuredError
pub fn change_context<T: StdError + Send + Sync + 'static>( self, new_context: T, ) -> StructuredError
Wrap this error as the source of a new context.
Sourcepub fn current_context(&self) -> &(dyn StdError + Send + Sync + 'static)
pub fn current_context(&self) -> &(dyn StdError + Send + Sync + 'static)
Get the current context.
Trait Implementations§
Source§impl Attach for StructuredError
impl Attach for StructuredError
Source§impl Debug for StructuredError
impl Debug for StructuredError
Source§impl Diagnostic for StructuredError
impl Diagnostic for StructuredError
Source§fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Additional help text related to this
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic’s Diagnostic::source_codeAdditional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Display for StructuredError
impl Display for StructuredError
Source§impl Error for StructuredError
impl Error for StructuredError
Source§fn source(&self) -> Option<&(dyn StdError + 'static)>
fn source(&self) -> Option<&(dyn StdError + '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()
Auto Trait Implementations§
impl Freeze for StructuredError
impl !RefUnwindSafe for StructuredError
impl Send for StructuredError
impl Sync for StructuredError
impl Unpin for StructuredError
impl UnsafeUnpin for StructuredError
impl !UnwindSafe for StructuredError
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