Skip to main content

Crate error_battery_pack

Crate error_battery_pack 

Source
Expand description

§error-battery-pack

Error handling done well. A battery pack that curates the essential error handling crates for Rust.

§What’s Included

CrateWhat it does
anyhowErgonomic error handling for applications — Result<T>, .context(), error chaining
thiserrorDerive macros for defining custom error types in libraries

§Quick Start

cargo bp add error

This adds anyhow and thiserror to your [dependencies] and sets up build-time validation.

§When to Use Which

  • anyhow — Use in application code (binaries, CLI tools, servers) where you want to propagate errors with context and don’t need callers to match on specific variants.
  • thiserror — Use in library code where callers need to inspect and match on specific error variants.

They compose naturally: library functions return Result<T, MyError> (thiserror), and application code wraps them with anyhow::Result<T> adding .context().

§Examples

Run the included examples to see the patterns in action:

# Basic anyhow usage with .context()
cargo run --example basic -p error-battery-pack

# Custom error types with thiserror + anyhow interop
cargo run --example custom-errors -p error-battery-pack

# Multi-layer error context chains
cargo run --example context-chain -p error-battery-pack

§License

Licensed under either of:

at your option.

CrateVersionDescription
anyhow1Flexible concrete Error type built on std::error::Error
thiserror2derive(Error)

Functions§

validate
Validate that the consumer’s dependencies match this battery pack’s specs.