1//! Provides an error type for this crate.
2
3use std::io;
4
5use std::convert::From;
6
7use xml::writer::Error as WriterError;
8use xml::reader::Error as ReaderError;
9
10/// An enum representing the possible errors.
11#[derive(Debug)]
12pub enum Error {
13 /// An io::Error.
14 IoError(io::Error),
15 /// An error in the xml-rs `EventWriter`.
16 XmlWriterError(WriterError),
17 /// An error in the xml-rs `EventReader`.
18 XmlReaderError(ReaderError),
19 /// The end of the document has been reached unexpectedly.
20 EndOfDocument,
21}
22
23impl From<io::Error> for Error {
24 fn from(err: io::Error) -> Error {
25 Error::IoError(err)
26 }
27}
28
29impl From<WriterError> for Error {
30 fn from(err: WriterError) -> Error {
31 Error::XmlWriterError(err)
32 }
33}
34
35impl From<ReaderError> for Error {
36 fn from(err: ReaderError) -> Error {
37 Error::XmlReaderError(err)
38 }
39}