[][src]Derive Macro amplify_derive::Error

#[derive(Error)]

Error derive macro works to the full extend only when other derive macros are used. With #[derive(Display)] and [display(doc_comments)] it uses doc comments for generating error descriptions; with #[derive(From)] it may automatically implement transofrations from other error types.

Example

#[derive(Debug, Display, Error)]
#[display(doc_comments)]
enum Error {
    /// I/O operation error
    Io,
    /// Math overflow
    Overflow,
    /// Zero division with {0}
    ZeroDivision(u16),
}

assert_eq!(format!("{}", Error::Io), "I/O operation error");
assert_eq!(format!("{}", Error::Overflow), "Math overflow");
assert_eq!(
    format!("{}", Error::ZeroDivision(2)),
    "Zero division with 2"
);