[−][src]Trait extracterr::Extract
Extension trait for extracting references to bundled context from dyn Error
trait objects
Required methods
fn extract<C>(&self) -> Option<&C> where
C: 'static,
C: 'static,
Example
use std::error::Error; use backtrace::Backtrace; use extracterr::{Bundled, Extract}; fn report(error: &(dyn Error + 'static)) { let mut source = Some(error); let mut ind = 0; let mut backtrace = None; while let Some(error) = source { source = error.source(); if let Some(bt) = error.extract::<Backtrace>() { backtrace = Some(bt); } else { println!("{}: {}", ind, error); ind += 1; } } if let Some(backtrace) = backtrace { println!("\nBacktrace:\n{:?}", backtrace) } }