Trait iron::Error 1.0.0
[−]
[src]
pub trait Error: Debug + Display { fn description(&self) -> &str; fn cause(&self) -> Option<&Error> { ... } }
Base functionality for all errors in Rust.
Required Methods
fn description(&self) -> &str
A short description of the error.
The description should only be used for a simple message.
It should not contain newlines or sentence-ending punctuation,
to facilitate embedding in larger user-facing strings.
For showing formatted error messages with more information see
Display
.
Examples
use std::error::Error; match "xc".parse::<u32>() { Err(e) => { println!("Error: {}", e.description()); } _ => println!("No error"), }
Provided Methods
fn cause(&self) -> Option<&Error>
The lower-level cause of this error, if any.
Examples
use std::error::Error; use std::fmt; #[derive(Debug)] struct SuperError { side: 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 description(&self) -> &str { "I'm the superhero of errors" } fn cause(&self) -> Option<&Error> { Some(&self.side) } } #[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 description(&self) -> &str { "I'm SuperError side kick" } } fn get_super_error() -> Result<(), SuperError> { Err(SuperError { side: SuperErrorSideKick }) } fn main() { match get_super_error() { Err(e) => { println!("Error: {}", e.description()); println!("Caused by: {}", e.cause().unwrap()); } _ => println!("No error"), } }
Methods
impl Error + 'static
[src]
fn is<T>(&self) -> bool where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Returns true if the boxed type is the same as T
fn downcast_ref<T>(&self) -> Option<&T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Returns some reference to the boxed value if it is of type T
, or
None
if it isn't.
fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Returns some mutable reference to the boxed value if it is of type T
, or
None
if it isn't.
impl Error + 'static + Send
[src]
fn is<T>(&self) -> bool where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
fn downcast_ref<T>(&self) -> Option<&T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
impl Error + 'static + Sync + Send
[src]
fn is<T>(&self) -> bool where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
fn downcast_ref<T>(&self) -> Option<&T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: 'static + Error,
1.3.0[src]
T: 'static + Error,
Forwards to the method defined on the type Any
.
impl Error + 'static
[src]
fn downcast<T>(
self: Box<Error + 'static>
) -> Result<Box<T>, Box<Error + 'static>> where
T: 'static + Error,
1.3.0[src]
self: Box<Error + 'static>
) -> Result<Box<T>, Box<Error + 'static>> where
T: 'static + Error,
Attempt to downcast the box to a concrete type.
impl Error + 'static + Send
[src]
fn downcast<T>(
self: Box<Error + 'static + Send>
) -> Result<Box<T>, Box<Error + 'static + Send>> where
T: 'static + Error,
1.3.0[src]
self: Box<Error + 'static + Send>
) -> Result<Box<T>, Box<Error + 'static + Send>> where
T: 'static + Error,
Attempt to downcast the box to a concrete type.
impl Error + 'static + Sync + Send
[src]
fn downcast<T>(
self: Box<Error + 'static + Sync + Send>
) -> Result<Box<T>, Box<Error + 'static + Sync + Send>> where
T: 'static + Error,
1.3.0[src]
self: Box<Error + 'static + Sync + Send>
) -> Result<Box<T>, Box<Error + 'static + Sync + Send>> where
T: 'static + Error,
Attempt to downcast the box to a concrete type.
Trait Implementations
impl Trait for Error + 'static + Sync + Send
impl Trait for Error + 'static + Send
impl Trait for Error + 'static + Sync
Implementations on Foreign Types
impl Error for ParseError
[src]
impl Error for ParseIntError
[src]
impl<W> Error for IntoInnerError<W> where
W: Send + Debug,
[src]
W: Send + Debug,
impl Error for SystemTimeError
[src]
impl Error for FromUtf16Error
[src]
impl Error for CharTryFromError
[src]
impl<T> Error for SendError<T> where
T: Send,
[src]
T: Send,
impl Error for ParseFloatError
[src]
impl Error for DecodeUtf16Error
[src]
impl Error for IntoStringError
[src]
impl Error for BorrowMutError
[src]
impl Error for CannotReallocInPlace
[src]
impl Error for TryFromIntError
[src]
impl Error for AllocErr
[src]
impl Error for StripPrefixError
[src]
impl Error for AddrParseError
[src]
impl<T> Error for TryLockError<T>
[src]
impl Error for FromBytesWithNulError
[src]
impl Error for RecvTimeoutError
[src]
impl Error for TryRecvError
[src]
impl Error for BorrowError
[src]
impl Error for FromUtf8Error
[src]
impl<T> Error for TrySendError<T> where
T: Send,
[src]
T: Send,
impl Error for ParseBoolError
[src]
impl Error for VarError
[src]
impl Error for Utf8Error
[src]
impl Error for RecvError
[src]
impl Error for JoinPathsError
[src]
impl Error for ParseError
[src]
impl<T> Error for Box<T> where
T: Error,
[src]
T: Error,