Crate anyhow[][src]

githubcrates-iodocs-rs


This library provides anyhow::Error, a trait object based error type for easy idiomatic error handling in Rust applications.


Details


No-std support

In no_std mode, the same API is almost all available and works the same way. To depend on Anyhow in no_std mode, disable our default enabled “std” feature in Cargo.toml. A global allocator is required.

[dependencies]
anyhow = { version = "1.0", default-features = false }

Since the ?-based error conversions would normally rely on the std::error::Error trait which is only available through std, no_std mode will require an explicit .map_err(Error::msg) when working with a non-Anyhow error type inside a function that returns Anyhow’s error type.

Re-exports

pub use anyhow as format_err;

Macros

anyhow

Construct an ad-hoc error from a string or existing non-anyhow error value.

bail

Return early with an error.

ensure

Return early with an error if a condition is not satisfied.

Structs

Chain

Iterator of a chain of source errors.

Error

The Error type, a wrapper around a dynamic error type.

Traits

Context

Provides the context method for Result.

Type Definitions

Result

Result<T, Error>