Skip to main content

Crate facet_error

Crate facet_error 

Source
Expand description

§facet-error

A thiserror replacement powered by facet reflection.

§Usage

use facet::Facet;
use facet_error as error;

#[derive(Facet, Debug)]
#[facet(derive(Error))]
pub enum MyError {
    /// data store disconnected
    #[facet(error::from)]
    Disconnect(std::io::Error),

    /// invalid header (expected {expected}, found {found})
    InvalidHeader { expected: String, found: String },

    /// unknown error
    Unknown,
}

This generates:

  • impl Display for MyError using doc comments as format strings
  • impl Error for MyError with proper source() implementation
  • impl From<std::io::Error> for MyError for variants with #[facet(error::from)]

Macros§

__facet_invoke
Plugin chain entry point.

Enums§

Attr
Error attribute types for field configuration.