binarytext 0.1.2

Binary-to-text encoders / decoders
Documentation
//! Defines different error types when encoding / decoding or reading from or writing to files.

use std::cmp::PartialEq;
use std::error::Error;
use std::fmt::{Display, Formatter, Result};

/// The error types that may occur during enocding or decoding.
#[derive(Clone, Debug, PartialEq)]
pub enum BinTxtError {
    EncodingErr(String),
    DecodingErr(String),
    UnknownEncoding(String),
    IOError(String),
    InvalidArg(String),
    MissingArg(String),
}

impl Error for BinTxtError {}

impl Display for BinTxtError {
    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
        match self {
            BinTxtError::EncodingErr(err) => write!(f, "Encoding error: {}", err),
            BinTxtError::DecodingErr(err) => write!(f, "Decoding error: {}", err),
            BinTxtError::UnknownEncoding(err) => write!(f, "Unknown encoding: {}", err),
            BinTxtError::IOError(err) => write!(f, "I/O error: {}", err),
            BinTxtError::InvalidArg(arg) => write!(f, "Invalid argument: {}", arg),
            BinTxtError::MissingArg(arg_prev) => write!(f, "Missing argument after {}", arg_prev),
        }
    }
}