1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! A module to provide a convenient wrapper around all error types

/// A struct to handle any error and a message
#[derive(Fail, Debug)]
pub enum Error {
    /// IO error
    #[fail(display = "{}", _0)]
    Io(#[cause] ::std::io::Error),

    /// Ods specific error
    #[fail(display = "{}", _0)]
    Ods(#[cause] ::ods::OdsError),
    /// xls specific error
    #[fail(display = "{}", _0)]
    Xls(#[cause] ::xls::XlsError),
    /// xlsb specific error
    #[fail(display = "{}", _0)]
    Xlsb(#[cause] ::xlsb::XlsbError),
    /// xlsx specific error
    #[fail(display = "{}", _0)]
    Xlsx(#[cause] ::xlsx::XlsxError),
    /// vba specific error
    #[fail(display = "{}", _0)]
    Vba(#[cause] ::vba::VbaError),
    /// Auto error
    /// cfb specific error
    #[fail(display = "{}", _0)]
    De(#[cause] ::de::DeError),

    /// General error message
    #[fail(display = "{}", _0)]
    Msg(&'static str),
}

from_err!(::std::io::Error, Error, Io);
from_err!(::ods::OdsError, Error, Ods);
from_err!(::xls::XlsError, Error, Xls);
from_err!(::xlsb::XlsbError, Error, Xlsb);
from_err!(::xlsx::XlsxError, Error, Xlsx);
from_err!(::vba::VbaError, Error, Vba);
from_err!(::de::DeError, Error, De);
from_err!(&'static str, Error, Msg);