qrsimple_cli/error.rs
use std::io;
use thiserror::Error;
pub type MyResult<T> = Result<T, MyError>;
#[derive(Error, Debug)]
pub enum MyError {
#[error(transparent)]
Clap(#[from] clap::error::Error),
#[error(transparent)]
Io(#[from] io::Error),
#[error(transparent)]
Float(#[from] conv::FloatError<f64>),
#[error(transparent)]
Qr(#[from] qrcode::types::QrError),
}
impl MyError {
pub fn eprint(&self) {
let error = self.to_string();
let error = error.trim_end();
eprintln!("{error}");
}
}