mag_image_decoder/
error.rs

1use std::io;
2use failure::Fail;
3
4/// Library error
5#[derive(Fail, Debug)]
6pub enum Error {
7    /// Invalid file format
8    #[fail(display = "Invalid format: {}", _0)]
9    InvalidFormat(String),
10
11    /// Other error
12    #[fail(display = "Error: {}", _0)]
13    OtherError(String),
14
15    /// Error from io::Error
16    #[fail(display = "{}", _0)]
17    Io(#[cause] io::Error),
18}
19
20pub type Result<T> = std::result::Result<T, Error>;
21
22pub fn other_err(msg: impl Into<String>) -> Error {
23    Error::OtherError(msg.into())
24}
25
26impl From<io::Error> for Error {
27    fn from(e: io::Error) -> Self {
28        Error::Io(e)
29    }
30}