pub struct Error { /* private fields */ }
Expand description
This type represents all possible errors that can occur when serializing or deserializing JSON data.
Implementations§
Source§impl Error
impl Error
Sourcepub fn line(&self) -> usize
pub fn line(&self) -> usize
One-based line number at which the error was detected.
Characters in the first line of the input (before the first newline character) are in line 1.
Sourcepub fn column(&self) -> usize
pub fn column(&self) -> usize
One-based column number at which the error was detected.
The first character in the input and any characters immediately following a newline character are in column 1.
Note that errors may occur in column 0, for example if a read from an I/O stream fails immediately following a previously read newline character.
Sourcepub fn io_error_kind(&self) -> Option<ErrorKind>
pub fn io_error_kind(&self) -> Option<ErrorKind>
The kind reported by the underlying standard library I/O error, if this error was caused by a failure to read or write bytes on an I/O stream.
Sourcepub fn classify(&self) -> Category
pub fn classify(&self) -> Category
Categorizes the cause of this error.
Category::Io
- failure to read or write bytes on an I/O streamCategory::Syntax
- input that is not syntactically valid JSONCategory::Data
- input data that is semantically incorrectCategory::Eof
- unexpected end of the input data
Sourcepub fn is_io(&self) -> bool
pub fn is_io(&self) -> bool
Returns true if this error was caused by a failure to read or write bytes on an I/O stream.
Sourcepub fn is_syntax(&self) -> bool
pub fn is_syntax(&self) -> bool
Returns true if this error was caused by input that was not syntactically valid JSON.
Sourcepub fn is_unmatched_type(&self) -> bool
pub fn is_unmatched_type(&self) -> bool
Returns true when the input data is unmatched for expected type.
For example, JSON containing a number when the type being deserialized into holds a String.
Sourcepub fn is_not_found(&self) -> bool
pub fn is_not_found(&self) -> bool
Return true when the target field was not found from JSON.
For example:
When using get*
APIs, it gets a unknown keys from JSON text, or get
a index out of the array.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl Error for Error
impl Error for Error
Source§fn custom<T: Display>(msg: T) -> Error
fn custom<T: Display>(msg: T) -> Error
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.