use std::io::Write;
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
pub enum Error {
GuessingFormatFailed(String),
OpeningImageFailed(String),
}
impl Error {
pub fn print_error<W: Write>(&self, err_out: &mut W) {
match *self {
Error::GuessingFormatFailed(ref fname) => writeln!(err_out, "Failed to guess format of \"{}\".", fname).unwrap(),
Error::OpeningImageFailed(ref fname) => writeln!(err_out, "Failed to open image file \"{}\".", fname).unwrap(),
}
}
pub fn exit_value(&self) -> i32 {
match *self {
Error::GuessingFormatFailed(_) => 1,
Error::OpeningImageFailed(_) => 2,
}
}
}