1use std::io;
2use thiserror::Error;
3
4pub type MyResult<T> = Result<T, MyError>;
5
6#[derive(Error, Debug)]
7pub enum MyError {
8 #[error(transparent)]
9 Clap(#[from] clap::error::Error),
10 #[error(transparent)]
11 Io(#[from] io::Error),
12 #[error(transparent)]
13 Float(#[from] conv::FloatError<f64>),
14 #[error(transparent)]
15 Qr(#[from] qrcode::types::QrError),
16}
17
18impl MyError {
19 pub fn eprint(&self) {
20 let error = self.to_string();
21 let error = error.trim_end();
22 eprintln!("{error}");
23 }
24}