qrsimple_cli/
error.rs

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}