License BSD-2-Clause License MIT AppVeyor CI docs.rs crates.io Download numbers dependency status

ebacktrace

Welcome to ebacktrace 🎉

This crate implements a simple error wrapper which captures a backtrace upon creation and can carry an optional textual description of the error.

Example

```rust use ebacktrace::define_error;

/// The error kind

[derive(Debug, Copy, Clone)]

enum ErrorKind { MyErrorA, Testolope }

// Define our custom error type define_error!(Error);

/// A function that will always fail fn will_fail() -> Result<(), Error> { Err(ErrorKind::Testolope)? }

// Will panic with a nice fully-backtraced error will_fail().unwrap(); ```

Features

This crate currently has one feature gate: - derive_display (enabled by default): Use the Display-trait for Etrace<MyType> using the Debug representation of MyType (instead of the Display representation). This way you can pretty-print the underlying error types without the necessity to manually implement the Display-trait for them.