Skip to main content

StdError

Trait StdError 

1.0.0 · Source
pub trait StdError: Debug + Display {
    // Provided methods
    fn source(&self) -> Option<&(dyn Error + 'static)> { ... }
    fn description(&self) -> &str { ... }
    fn cause(&self) -> Option<&dyn Error> { ... }
    fn provide<'a>(&'a self, request: &mut Request<'a>) { ... }
}
Expand description

Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.

Errors must describe themselves through the Display and Debug traits. Error messages are typically concise lowercase sentences without trailing punctuation:

let err = "NaN".parse::<u32>().unwrap_err();
assert_eq!(err.to_string(), "invalid digit found in string");

§Error source

Errors may provide cause information. Error::source() is generally used when errors cross “abstraction boundaries”. If one module must report an error that is caused by an error from a lower-level module, it can allow accessing that error via Error::source(). This makes it possible for the high-level module to provide its own errors while also revealing some of the implementation for debugging.

In error types that wrap an underlying error, the underlying error should be either returned by the outer error’s Error::source(), or rendered by the outer error’s Display implementation, but not both.

§Example

Implementing the Error trait only requires that Debug and Display are implemented too.

use std::error::Error;
use std::fmt;
use std::path::PathBuf;

#[derive(Debug)]
struct ReadConfigError {
    path: PathBuf
}

impl fmt::Display for ReadConfigError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let path = self.path.display();
        write!(f, "unable to read configuration at {path}")
    }
}

impl Error for ReadConfigError {}

Provided Methods§

1.30.0 · Source

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any.

§Examples
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct SuperError {
    source: SuperErrorSideKick,
}

impl fmt::Display for SuperError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperError is here!")
    }
}

impl Error for SuperError {
    fn source(&self) -> Option<&(dyn Error + 'static)> {
        Some(&self.source)
    }
}

#[derive(Debug)]
struct SuperErrorSideKick;

impl fmt::Display for SuperErrorSideKick {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperErrorSideKick is here!")
    }
}

impl Error for SuperErrorSideKick {}

fn get_super_error() -> Result<(), SuperError> {
    Err(SuperError { source: SuperErrorSideKick })
}

fn main() {
    match get_super_error() {
        Err(e) => {
            println!("Error: {e}");
            println!("Caused by: {}", e.source().unwrap());
        }
        _ => println!("No error"),
    }
}
1.0.0 · Source

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

if let Err(e) = "xc".parse::<u32>() {
    // Print `e` itself, no need for description().
    eprintln!("Error: {e}");
}
1.0.0 · Source

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)

Provides type-based access to context intended for error reports.

Used in conjunction with Request::provide_value and Request::provide_ref to extract references to member variables from dyn Error trait objects.

§Example
#![feature(error_generic_member_access)]
use core::fmt;
use core::error::{request_ref, Request};

#[derive(Debug)]
enum MyLittleTeaPot {
    Empty,
}

#[derive(Debug)]
struct MyBacktrace {
    // ...
}

impl MyBacktrace {
    fn new() -> MyBacktrace {
        // ...
    }
}

#[derive(Debug)]
struct Error {
    backtrace: MyBacktrace,
}

impl fmt::Display for Error {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "Example Error")
    }
}

impl std::error::Error for Error {
    fn provide<'a>(&'a self, request: &mut Request<'a>) {
        request
            .provide_ref::<MyBacktrace>(&self.backtrace);
    }
}

fn main() {
    let backtrace = MyBacktrace::new();
    let error = Error { backtrace };
    let dyn_error = &error as &dyn std::error::Error;
    let backtrace_ref = request_ref::<MyBacktrace>(dyn_error).unwrap();

    assert!(core::ptr::eq(&error.backtrace, backtrace_ref));
    assert!(request_ref::<MyLittleTeaPot>(dyn_error).is_none());
}
§Delegating Impls

Warning: We recommend implementors avoid delegating implementations of provide to source error implementations.

This method should expose context from the current piece of the source chain only, not from sources that are exposed in the chain of sources. Delegating provide implementations cause the same context to be provided by multiple errors in the chain of sources which can cause unintended duplication of information in error reports or require heuristics to deduplicate.

In other words, the following implementation pattern for provide is discouraged and should not be used for Error types exposed in public APIs to third parties.

struct MyError {
    source: Error,
}

impl std::error::Error for MyError {
    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
        Some(&self.source)
    }

    fn provide<'a>(&'a self, request: &mut Request<'a>) {
        self.source.provide(request) // <--- Discouraged
    }
}

Implementations§

Source§

impl dyn Error

1.3.0 · Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Returns true if the inner type is the same as T.

1.3.0 · Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Error + 'static,

Returns some reference to the inner value if it is of type T, or None if it isn’t.

1.3.0 · Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Returns some mutable reference to the inner value if it is of type T, or None if it isn’t.

Source§

impl dyn Error + Send

1.3.0 · Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

Source§

impl dyn Error + Send + Sync

1.3.0 · Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

Source§

impl dyn Error

Source

pub fn sources(&self) -> Source<'_>

🔬This is a nightly-only experimental API. (error_iter)

Returns an iterator starting with the current error and continuing with recursively calling Error::source.

If you want to omit the current error and only use its sources, use skip(1).

§Examples
#![feature(error_iter)]
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct A;

#[derive(Debug)]
struct B(Option<Box<dyn Error + 'static>>);

impl fmt::Display for A {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "A")
    }
}

impl fmt::Display for B {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "B")
    }
}

impl Error for A {}

impl Error for B {
    fn source(&self) -> Option<&(dyn Error + 'static)> {
        self.0.as_ref().map(|e| e.as_ref())
    }
}

let b = B(Some(Box::new(A)));

// let err : Box<Error> = b.into(); // or
let err = &b as &dyn Error;

let mut iter = err.sources();

assert_eq!("B".to_string(), iter.next().unwrap().to_string());
assert_eq!("A".to_string(), iter.next().unwrap().to_string());
assert!(iter.next().is_none());
assert!(iter.next().is_none());
Source§

impl dyn Error

1.3.0 · Source

pub fn downcast<T>(self: Box<dyn Error>) -> Result<Box<T>, Box<dyn Error>>
where T: Error + 'static,

Attempts to downcast the box to a concrete type.

Source§

impl dyn Error + Send

1.3.0 · Source

pub fn downcast<T>( self: Box<dyn Error + Send>, ) -> Result<Box<T>, Box<dyn Error + Send>>
where T: Error + 'static,

Attempts to downcast the box to a concrete type.

Source§

impl dyn Error + Send + Sync

1.3.0 · Source

pub fn downcast<T>( self: Box<dyn Error + Send + Sync>, ) -> Result<Box<T>, Box<dyn Error + Send + Sync>>
where T: Error + 'static,

Attempts to downcast the box to a concrete type.

Trait Implementations§

1.0.0 · Source§

impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

Converts a str into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;

let a_str_error = "a str error";
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
1.6.0 · Source§

impl<'a> From<&str> for Box<dyn Error + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(err: &str) -> Box<dyn Error + 'a>

Converts a str into a box of dyn Error.

§Examples
use std::error::Error;

let a_str_error = "a str error";
let a_boxed_error = Box::<dyn Error>::from(a_str_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.22.0 · Source§

impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

Converts a Cow into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::borrow::Cow;

let a_cow_str_error = Cow::from("a str error");
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
1.22.0 · Source§

impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

Converts a Cow into a box of dyn Error.

§Examples
use std::error::Error;
use std::borrow::Cow;

let a_cow_str_error = Cow::from("a str error");
let a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.0.0 · Source§

impl<'a, E> From<E> for Box<dyn Error + 'a>
where E: Error + 'a,

Available on non-no_global_oom_handling only.
Source§

fn from(err: E) -> Box<dyn Error + 'a>

Converts a type of Error into a box of dyn Error.

§Examples
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

let an_error = AnError;
assert!(0 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error>::from(an_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.0.0 · Source§

impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>
where E: Error + Send + Sync + 'a,

Available on non-no_global_oom_handling only.
Source§

fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

Converts a type of Error + Send + Sync into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

unsafe impl Send for AnError {}

unsafe impl Sync for AnError {}

let an_error = AnError;
assert!(0 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
Source§

impl From<Error> for Box<dyn Error + Send + Sync>

Source§

fn from(error: Error) -> Box<dyn Error + Send + Sync>

Converts to this type from the input type.
Source§

impl From<Error> for Box<dyn Error + Send>

Source§

fn from(error: Error) -> Box<dyn Error + Send>

Converts to this type from the input type.
Source§

impl From<Error> for Box<dyn Error>

Source§

fn from(error: Error) -> Box<dyn Error>

Converts to this type from the input type.
1.0.0 · Source§

impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

Converts a String into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;

let a_string_error = "a string error".to_string();
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
1.6.0 · Source§

impl<'a> From<String> for Box<dyn Error + 'a>

Available on non-no_global_oom_handling only.
Source§

fn from(str_err: String) -> Box<dyn Error + 'a>

Converts a String into a box of dyn Error.

§Examples
use std::error::Error;

let a_string_error = "a string error".to_string();
let a_boxed_error = Box::<dyn Error>::from(a_string_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
§

impl Value for dyn Error

Available on crate feature std only.
§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
§

impl Value for dyn Error + Send

Available on crate feature std only.
§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
§

impl Value for dyn Error + Sync

Available on crate feature std only.
§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
§

impl Value for dyn Error + Send + Sync

Available on crate feature std only.
§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

1.65.0 · Source§

impl !Error for &str

Source§

impl Error for !

§

impl Error for ASN1Error

Available on crate feature std only.
§

impl Error for Aborted

Available on crate feature std only.
1.26.0 · Source§

impl Error for AccessError

§

impl Error for AcquireError

1.4.0 · Source§

impl Error for core::net::parser::AddrParseError

Source§

impl Error for ipnet::parser::AddrParseError

§

impl Error for AddrParseError

Available on crate feature std only.
Source§

impl Error for AllocError

§

impl Error for AnyDelimiterCodecError

§

impl Error for AttrError

Source§

impl Error for BernoulliError

Available on crate feature std only.
§

impl Error for BindError

Source§

impl Error for BlockError

1.13.0 · Source§

impl Error for BorrowError

1.13.0 · Source§

impl Error for BorrowMutError

Source§

impl Error for BoxErrorWrapper

§

impl Error for BuildError

Available on crate feature std only.
§

impl Error for BuildError

Available on crate feature std only.
§

impl Error for BuildError

Available on crate feature std only.
§

impl Error for BuildError

Available on crate feature std only.
§

impl Error for BuildError

Available on crate feature std only.
§

impl Error for BuilderError

§

impl Error for CacheError

Available on crate feature std only.
Source§

impl Error for CalendarError

§

impl Error for CalibrightError

§

impl Error for Canceled

Available on crate feature std only.
§

impl Error for CapacityOverflowError

Available on crate feature std only.
§

impl Error for CaseFoldError

Available on crate feature std only.
1.34.0 · Source§

impl Error for CharTryFromError

§

impl Error for ClearEnvError

§

impl Error for Code

§

impl Error for CommandError

§

impl Error for ComponentRange

§

impl Error for ConfigurationError

§

impl Error for ConnectError

§

impl Error for ConnectError

Available on crate feature std only.
§

impl Error for ConnectionError

§

impl Error for ConversionRange

§

impl Error for DataError

§

impl Error for DateAddError

§

impl Error for DateError

§

impl Error for DateFromFieldsError

§

impl Error for DateNewError

§

impl Error for DateTimeFormatterLoadError

§

impl Error for DatetimeParseError

§

impl Error for DeError

§

impl Error for DeError

§

impl Error for DecodeError

Available on crate features std only.
§

impl Error for DecodeError

Available on crate feature std only.
§

impl Error for DecodeSliceError

Available on crate features std only.
1.9.0 · Source§

impl Error for DecodeUtf16Error

§

impl Error for DerConstraint

Available on crate feature std only.
§

impl Error for DeserializeError

Available on crate feature std only.
§

impl Error for DifferentVariant

§

impl Error for DisplayParsingError

Available on crate feature std only.
§

impl Error for EarlyDataError

Available on crate feature std only.
§

impl Error for Elapsed

§

impl Error for Elapsed

§

impl Error for EncodeError

Available on crate feature std only.
§

impl Error for EncodeSliceError

Available on crate features std only.
§

impl Error for EncodingError

§

impl Error for EncryptError

Available on crate feature std only.
§

impl Error for EnterError

§

impl Error for Errno

Available on error_in_core or crate feature std only.
§

impl Error for Errno

§

impl Error for Errno

1.11.0 · Source§

impl Error for core::fmt::Error

1.0.0 · Source§

impl Error for core::io::error::Error

Source§

impl Error for serde_core::de::value::Error

Available on crate feature std only.
§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Source§

impl Error for serde_json::error::Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Source§

impl Error for syn::error::Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Source§

impl Error for rand_core::error::Error

Available on crate feature std only.
Source§

impl Error for getrandom::error::Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Source§

impl Error for uuid::error::Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

Available on crate feature std only.
§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

Source§

impl Error for i3status_rs::errors::Error

§

impl Error for ErrorKind

Available on crate feature std only.
Source§

impl Error for bincode::error::ErrorKind

§

impl Error for ErrorStack

§

impl Error for Errors

Available on crate feature std only.
Source§

impl Error for proc_macro::EscapeError

§

impl Error for EscapeError

Source§

impl Error for ExitStatusError

Source§

impl Error for ExpandError

§

impl Error for Format

Source§

impl Error for FormatError

1.69.0 · Source§

impl Error for FromBytesUntilNulError

1.17.0 · Source§

impl Error for FromBytesWithNulError

Source§

impl Error for FromHexError

Available on crate feature std only.
1.0.0 · Source§

impl Error for FromUtf8Error

1.0.0 · Source§

impl Error for FromUtf16Error

1.58.0 · Source§

impl Error for FromVecWithNulError

§

impl Error for GenError

Available on crate feature std only.
1.86.0 · Source§

impl Error for GetDisjointMutError

§

impl Error for GetTimezoneError

Source§

impl Error for GlobError

§

impl Error for GroupInfoError

Available on crate feature std only.
§

impl Error for I32CastError

§

impl Error for IdsExhausted

Available on crate feature std only.
§

impl Error for IllFormedError

1.8.0 · Source§

impl Error for Infallible

1.7.0 · Source§

impl Error for IntoStringError

§

impl Error for InvalidBackoff

§

impl Error for InvalidBufferSize

Available on crate feature std only.
§

impl Error for InvalidDnsNameError

Available on crate feature std only.
§

impl Error for InvalidEncodingError

§

impl Error for InvalidFormatDescription

§

impl Error for InvalidHeaderName

§

impl Error for InvalidHeaderValue

§

impl Error for InvalidLength

Available on crate feature std only.
§

impl Error for InvalidLengthError

§

impl Error for InvalidMethod

§

impl Error for InvalidNameError

§

impl Error for InvalidOutputSize

Available on crate feature std only.
§

impl Error for InvalidStatusCode

§

impl Error for InvalidUri

§

impl Error for InvalidUriParts

§

impl Error for InvalidVariant

§

impl Error for JoinError

1.0.0 · Source§

impl Error for JoinPathsError

§

impl Error for KeyingMaterialExporterError

1.28.0 · Source§

impl Error for LayoutError

§

impl Error for LengthDelimitedCodecError

§

impl Error for LengthError

§

impl Error for LengthLimitError

1.44.0 · Source§

impl Error for proc_macro::LexError

Source§

impl Error for proc_macro2::LexError

§

impl Error for LibsensorsError

§

impl Error for LinesCodecError

§

impl Error for LocationOutOfBoundsError

§

impl Error for LunisolarDateError

§

impl Error for MacError

Available on crate feature std only.
§

impl Error for MailEntryError

§

impl Error for MailParseError

§

impl Error for MaildirError

§

impl Error for MatchError

Available on crate feature std only.
§

impl Error for MatchError

Available on crate feature std only.
§

impl Error for MatchesError

§

impl Error for MaxSizeReached

§

impl Error for MaybePayloadError

§

impl Error for MismatchedCalendarError

§

impl Error for MismatchedCalendarError

§

impl Error for NamespaceError

§

impl Error for None

Source§

impl Error for NormalizeError

1.0.0 · Source§

impl Error for NulError

§

impl Error for OtherError

Available on crate feature std only.
Source§

impl Error for OutOfRange

Available on crate feature std only.
Source§

impl Error for OutOfRangeError

Available on crate features core-error or std only.
§

impl Error for PAErr

§

impl Error for PEMError

§

impl Error for Parse

§

impl Error for ParseAlphabetError

Available on crate features std only.
Source§

impl Error for ParseBigIntError

Available on crate feature std only.
1.0.0 · Source§

impl Error for ParseBoolError

1.20.0 · Source§

impl Error for ParseCharError

§

impl Error for ParseCharRefError

Source§

impl Error for chrono::format::ParseError

Available on crate features core-error or std only.
§

impl Error for ParseError

Available on crate feature std only.
§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

Available on crate feature std only.
§

impl Error for ParseError

Source§

impl Error for url::parser::ParseError

Available on crate feature std only.
§

impl Error for ParseError

§

impl Error for ParseError

Available on crate feature std only.
1.0.0 · Source§

impl Error for ParseFloatError

§

impl Error for ParseFromDescription

1.0.0 · Source§

impl Error for core::num::error::ParseIntError

§

impl Error for ParseIntError

Source§

impl Error for log::ParseLevelError

Available on crate feature std only.
§

impl Error for ParseLevelError

Available on crate feature std only.
§

impl Error for ParseLevelFilterError

Available on crate feature std only.
Source§

impl Error for ParseMonthError

Available on crate feature std only.
§

impl Error for ParseOidError

Available on crate feature std only.
§

impl Error for ParseValueError

Source§

impl Error for ParseWeekdayError

Available on crate feature std only.
§

impl Error for PatternError

§

impl Error for PatternError

Source§

impl Error for glob::PatternError

§

impl Error for PatternIDError

Available on crate feature std only.
§

impl Error for PatternIDError

Available on crate feature std only.
§

impl Error for PatternLoadError

§

impl Error for PatternSetInsertError

Available on crate feature std only.
§

impl Error for PeekHeaderError

§

impl Error for PemError

Available on crate features std only.
§

impl Error for PopError

Available on crate feature std only.
§

impl Error for PreferencesParseError

Source§

impl Error for PrefixLenError

§

impl Error for QuotedPrintableError

Available on crate feature std only.
§

impl Error for RRuleError

§

impl Error for RangeError

Source§

impl Error for RateLimited

Source§

impl Error for ReadError

§

impl Error for RecurrenceError

1.0.0 · Source§

impl Error for std::sync::mpsc::RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

Available on crate feature std only.
§

impl Error for RecvMessageError

1.15.0 · Source§

impl Error for std::sync::mpsc::RecvTimeoutError

§

impl Error for ReplyError

§

impl Error for ReplyOrIdError

§

impl Error for ReuniteError

§

impl Error for ReuniteError

Source§

impl Error for RoundingError

Available on crate feature std only.
§

impl Error for SeError

§

impl Error for SendError

§

impl Error for SerError

§

impl Error for SerializeError

Available on crate feature std only.
§

impl Error for SerializeError

§

impl Error for SetGlobalDefaultError

Available on crate feature std only.
Source§

impl Error for SetLoggerError

Available on crate feature std only.
§

impl Error for SmallIndexError

Available on crate feature std only.
§

impl Error for SpawnError

Available on crate feature std only.
§

impl Error for SpecificationError

Available on crate feature std only.
§

impl Error for StartError

Available on crate feature std only.
§

impl Error for StateIDError

Available on crate feature std only.
§

impl Error for StateIDError

Available on crate feature std only.
§

impl Error for Status

1.7.0 · Source§

impl Error for StripPrefixError

§

impl Error for SymbolError

§

impl Error for SyntaxError

1.8.0 · Source§

impl Error for SystemTimeError

§

impl Error for ToStrError

§

impl Error for TomlError

§

impl Error for TryAcquireError

§

impl Error for TryCurrentError

1.59.0 · Source§

impl Error for TryFromCharError

1.66.0 · Source§

impl Error for TryFromFloatSecsError

1.34.0 · Source§

impl Error for core::num::error::TryFromIntError

§

impl Error for TryFromIntError

§

impl Error for TryFromParsed

1.34.0 · Source§

impl Error for TryFromSliceError

§

impl Error for TryGetError

Available on crate feature std only.
1.89.0 · Source§

impl Error for std::fs::TryLockError

§

impl Error for TryLockError

1.0.0 · Source§

impl Error for std::sync::mpsc::TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

Available on crate feature std only.
1.57.0 · Source§

impl Error for alloc::collections::TryReserveError

§

impl Error for TryReserveError

Available on crate feature std only.
§

impl Error for UleError

§

impl Error for UnicodeWordBoundaryError

Available on crate feature std only.
§

impl Error for UnicodeWordError

Available on crate feature std only.
Source§

impl Error for UnorderedKeyError

§

impl Error for UnsupportedCalendarError

§

impl Error for UnsupportedOperationError

Available on crate feature std only.
1.0.0 · Source§

impl Error for Utf8Error

§

impl Error for ValidationError

1.0.0 · Source§

impl Error for VarError

§

impl Error for VerifierBuilderError

Available on crate feature std only.
Source§

impl Error for WeightedError

Available on crate feature std only.
§

impl Error for WrappedError

1.56.0 · Source§

impl Error for WriterPanicked

§

impl Error for X509Error

§

impl Error for X509VerifyError

§

impl Error for ZeroTrieBuildError

1.51.0 · Source§

impl<'a, T> Error for &'a T
where T: Error + ?Sized,

1.8.0 · Source§

impl<E> Error for Box<E>
where E: Error,

§

impl<E> Error for Err<E>
where E: Debug,

Available on crate feature std only.
§

impl<E> Error for Err<E>
where E: Debug,

Available on crate feature std only.
Source§

impl<E> Error for serde_path_to_error::Error<E>
where E: Error,

§

impl<E> Error for LookupError<E>
where E: Error + 'static,

§

impl<E> Error for ParserError<E>
where E: Debug,

§

impl<F> Error for Error<F>
where F: ErrorFormatter,

§

impl<I, C> Error for TreeError<I, C>
where I: Stream + Clone + Debug + Display + Sync + Send + 'static, C: Display + Debug,

Available on crate feature std only.
§

impl<I> Error for Error<I>
where I: Debug + Display,

Available on crate feature std only.
§

impl<I> Error for Error<I>
where I: Debug + Display,

Available on crate feature std only.
§

impl<I> Error for ExactlyOneError<I>
where I: Iterator + Debug, <I as Iterator>::Item: Debug,

Available on crate feature use_std only.
§

impl<I> Error for InputError<I>
where I: Clone + Debug + Display + Sync + Send + 'static,

Available on crate feature std only.
§

impl<I> Error for VerboseError<I>
where I: Debug + Display,

§

impl<I> Error for VerboseError<I>
where I: Debug + Display,

Available on crate feature std only.
Source§

impl<L, R> Error for Either<L, R>
where L: Error, R: Error,

Available on crate features use_std only.

Either implements Error if both L and R implement it.

Requires crate feature "use_std"

§

impl<RE, T> Error for RequestTokenError<RE, T>
where RE: Error + 'static, T: ErrorResponse + 'static, RequestTokenError<RE, T>: Debug + Display,

§

impl<RE> Error for HttpClientError<RE>
where RE: Error + 'static, Box<RE>: Error + 'static, HttpClientError<RE>: Debug + Display,

§

impl<S> Error for HandshakeError<S>
where S: Debug,

§

impl<S> Error for HandshakeError<S>
where S: Debug,

§

impl<T, E> Error for TryChunksError<T, E>
where E: Debug + Display,

Available on crate feature std only.
§

impl<T, E> Error for TryReadyChunksError<T, E>
where E: Debug + Display,

Available on crate feature std only.
§

impl<T, Item> Error for ReuniteError<T, Item>
where T: Any,

Available on crate feature std only.
§

impl<T, P> Error for NlError<T, P>
where T: Debug, P: Debug,

§

impl<T, P> Error for Nlmsgerr<T, P>
where T: Debug, P: Debug,

1.52.0 · Source§

impl<T> Error for Arc<T>
where T: Error + ?Sized,

§

impl<T> Error for AsyncFdTryNewError<T>

§

impl<T> Error for CreationError<T>
where T: Debug,

Available on crate feature std only.
§

impl<T> Error for CreationError<T>
where T: Debug,

Available on crate feature std only.
§

impl<T> Error for ForcePushError<T>
where T: Debug,

Available on crate feature std only.
1.0.0 · Source§

impl<T> Error for PoisonError<T>

§

impl<T> Error for PollSendError<T>
where T: Debug,

§

impl<T> Error for PushError<T>
where T: Debug,

Available on crate feature std only.
Source§

impl<T> Error for std::sync::oneshot::RecvTimeoutError<T>

§

impl<T> Error for ReuniteError<T>
where T: Any,

Available on crate feature std only.
1.0.0 · Source§

impl<T> Error for std::sync::mpsc::SendError<T>

§

impl<T> Error for SendError<T>

§

impl<T> Error for SendError<T>

§

impl<T> Error for SendError<T>

§

impl<T> Error for SendError<T>

Available on crate feature std only.
§

impl<T> Error for SendError<T>
where T: Debug,

Source§

impl<T> Error for std::sync::mpmc::error::SendTimeoutError<T>

§

impl<T> Error for SendTimeoutError<T>

Available on crate feature time only.
§

impl<T> Error for SetError<T>
where T: Debug,

§

impl<T> Error for SetOnceError<T>
where T: Debug,

Source§

impl<T> Error for ThinBox<T>
where T: Error + ?Sized,

Source§

impl<T> Error for TryFromBigIntError<T>
where T: Debug,

Available on crate feature std only.
1.0.0 · Source§

impl<T> Error for std::sync::poison::TryLockError<T>

Source§

impl<T> Error for std::sync::oneshot::TryRecvError<T>

1.0.0 · Source§

impl<T> Error for std::sync::mpsc::TrySendError<T>

§

impl<T> Error for TrySendError<T>

§

impl<T> Error for TrySendError<T>

§

impl<T> Error for TrySendError<T>

Available on crate feature std only.
§

impl<T> Error for TrySendError<T>
where T: Any,

1.0.0 · Source§

impl<W> Error for IntoInnerError<W>
where W: Send + Debug,