1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use thiserror::Error;
use zip::result::ZipError;

/// An error that can occur while writing a 3MF file
#[derive(Debug, Error)]
pub enum Error {
    /// I/O error while writing 3MF file
    #[error("I/O error while importing/exporting to 3MF file")]
    Io(#[from] std::io::Error),

    /// Error writing ZIP file (3MF files are ZIP files)
    #[error("Error writing ZIP file (3MF files are ZIP files)")]
    Zip(#[from] ZipError),

    /// Error reading/writing XML
    #[error("Error reading/writing XML")]
    XMLError(#[from] quick_xml::Error),

    /// Error Deserializing internal 3MF XML structure
    #[error("Deserialization error from xml reading")]
    DeError(#[from] quick_xml::DeError),
}