use std::{str::Utf8Error, string::FromUtf8Error};
#[derive(Debug)]
pub enum Error {
InvalidArguments(String),
Io(std::io::Error),
ExecutionFailure(String),
ObjectReadError(object::read::Error),
ObjectWriteError(object::write::Error),
StringError(String),
LoggerError(String),
MissingFile(String),
Unknown(String),
}
impl From<std::io::Error> for Error {
fn from(value: std::io::Error) -> Self {
Self::Io(value)
}
}
impl From<object::read::Error> for Error {
fn from(value: object::read::Error) -> Self {
Self::ObjectReadError(value)
}
}
impl From<object::write::Error> for Error {
fn from(value: object::write::Error) -> Self {
Self::ObjectWriteError(value)
}
}
impl From<Utf8Error> for Error {
fn from(value: Utf8Error) -> Self {
Self::StringError(format!("{}", value))
}
}
impl From<FromUtf8Error> for Error {
fn from(value: FromUtf8Error) -> Self {
Self::StringError(format!("{}", value))
}
}