[][src]Struct cotton::prelude::Problem

pub struct Problem { /* fields omitted */ }

Wraps error, context and backtrace information and formats it for display. Data is heap allocated to avoid type parameters or lifetimes.

Methods

impl Problem[src]

pub fn from_error<impl Into>>(
    error: impl Into>
) -> Problem where
    impl Into>: Into<Box<dyn Error + 'static>>, 
[src]

Create Problem from types implementing Into<Box<dyn Error>> (including String and &str) so that Error::cause chain is followed through in the Display message

pub fn from_error_message<impl Error>(error: &impl Error) -> Problem where
    impl Error: Error
[src]

Same as Problem::from_error but stores only final message as String and does not take ownership of the error

pub fn backtrace(&self) -> Option<&str>[src]

Get backtrace associated with this Problem instance if available

Trait Implementations

impl ProblemWhile for Problem[src]

type WithContext = Problem

impl Display for Problem[src]

impl Debug for Problem[src]

impl<E> From<E> for Problem where
    E: Into<Box<dyn Error + 'static>>, 
[src]

Every type implementing Into<Box<dyn Error>> trait (including String and &str types) can be converted to Problem via ? operator

Auto Trait Implementations

impl !Send for Problem

impl !Sync for Problem

Blanket Implementations

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> TapOps for T[src]

fn tap<R, F>(self, f: F) -> Self where
    F: FnOnce(&mut Self) -> R, 
[src]

Executes a closure on an object.