This is a Rust crate that provides a convenient derive macro (#[derive(Error)]) for implementing std::error::Error on your custom error types (structs or enums). The goal is to enable library authors to build expressive, typed error types, with readable Display implementations (via #[error("...")] annotations) as well as From conversions (#[from]), source tracking (#[source]), and optionally backtraces. It is designed so that switching from handwritten error implementation to using this error is not a breaking change: you retain the same API. The README shows examples: an enum with variants annotated by #[error("…")] and #[from] fields to derive the appropriate trait impls. The crate expects rustc ≥ 1.68+. The README also outlines how you choose; use thiserror if you care about designing your own error-types (e.g., for libraries) vs anyhow for applications.

Features

  • #[derive(Error)] macro to implement std::error::Error for your types
  • #[error("…")] annotation for Display message formatting with interpolation
  • #[from] attribute for automatic From conversions from underlying error types
  • #[source] attribute (or implied) for error chaining
  • Backtrace field support (via #[backtrace], nightly-only)
  • Library-friendly design: no impact on public API if switching implementation

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow derive(Error)

derive(Error) Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of derive(Error)!

Additional Project Details

Programming Language

Rust

Related Categories

Rust Libraries

Registered

2025-11-14