pub enum DeError {
Custom(String),
InvalidXml(Error),
InvalidInt(ParseIntError),
InvalidFloat(ParseFloatError),
InvalidBoolean(String),
KeyNotRead,
UnexpectedStart(Vec<u8>),
UnexpectedEnd(Vec<u8>),
UnexpectedEof,
ExpectedStart,
Unsupported(Cow<'static, str>),
TooManyEvents(NonZeroUsize),
}
serialize
only.Expand description
(De)serialization error
Variants§
Custom(String)
Serde custom error
InvalidXml(Error)
Xml parsing error
InvalidInt(ParseIntError)
Cannot parse to integer
InvalidFloat(ParseFloatError)
Cannot parse to float
InvalidBoolean(String)
Cannot parse specified value to boolean
KeyNotRead
This error indicates an error in the Deserialize
implementation when read a map or a struct: MapAccess::next_value[_seed]
was called before MapAccess::next_key[_seed]
.
You should check your types, that implements corresponding trait.
UnexpectedStart(Vec<u8>)
Deserializer encounter a start tag with a specified name when it is not expecting. This happens when you try to deserialize a primitive value (numbers, strings, booleans) from an XML element.
UnexpectedEnd(Vec<u8>)
Deserializer encounter an end tag with a specified name when it is not expecting. Usually that should not be possible, because XML reader is not able to produce such stream of events that lead to this error.
If you get this error this likely indicates and error in the quick_xml
.
Please open an issue at https://github.com/tafia/quick-xml, provide
your Rust code and XML input.
UnexpectedEof
The Reader
produced Event::Eof
when it is not expecting,
for example, after producing Event::Start
but before corresponding
Event::End
.
ExpectedStart
This error indicates that deserialize_struct
was called, but there
is no any XML element in the input. That means that you try to deserialize
a struct not from an XML element.
Unsupported(Cow<'static, str>)
An attempt to deserialize to a type, that is not supported by the XML
store at current position, for example, attempt to deserialize struct
from attribute or attempt to deserialize binary data.
Serialized type cannot be represented in an XML due to violation of the
XML rules in the final XML document. For example, attempt to serialize
a HashMap<{integer}, ...>
would cause this error because XML name
cannot start from a digit or a hyphen (minus sign). The same result
would occur if map key is a complex type that cannot be serialized as
a primitive type (i.e. string, char, bool, unit struct or unit variant).
TooManyEvents(NonZeroUsize)
overlapped-lists
only.Too many events were skipped while deserializing a sequence, event limit exceeded. The limit was provided as an argument
Trait Implementations§
source§impl Error for DeError
impl Error for DeError
source§fn custom<T: Display>(msg: T) -> Self
fn custom<T: Display>(msg: T) -> Self
source§fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize
receives a type different from what it was
expecting. Read moresource§fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize
receives a value of the right type but that
is wrong for some other reason. Read moresource§fn invalid_length(len: usize, exp: &dyn Expected) -> Self
fn invalid_length(len: usize, exp: &dyn Expected) -> Self
source§fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
Deserialize
enum type received a variant with an
unrecognized name.source§fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
Deserialize
struct type received a field with an
unrecognized name.source§fn missing_field(field: &'static str) -> Self
fn missing_field(field: &'static str) -> Self
Deserialize
struct type expected to receive a required
field with a particular name but that field was not present in the
input.source§fn duplicate_field(field: &'static str) -> Self
fn duplicate_field(field: &'static str) -> Self
Deserialize
struct type received more than one of the
same field.