aescrypt_rs/
error.rs

1// ============================================================================
2// FILE: src/error.rs
3// ============================================================================
4
5//! Custom error type for the AES Crypt library.
6
7use thiserror::Error;
8
9#[derive(Error, Debug)]
10pub enum AescryptError {
11    #[error("I/O error: {0}")]
12    Io(#[from] std::io::Error),
13
14    #[error("Crypto error: {0}")]
15    Crypto(String),
16
17    #[error("Header error: {0}")]
18    Header(String),
19
20    #[error("Unsupported version: {0}")]
21    UnsupportedVersion(u8),
22}
23
24impl From<&'static str> for AescryptError {
25    fn from(msg: &'static str) -> Self {
26        AescryptError::Crypto(msg.to_string())
27    }
28}