Trait Error
trait Error: Sized + StdError
Trait used by Serialize implementations to generically construct
errors belonging to the Serializer against which they are
currently running.
Example implementation
The example data format presented on the website shows an error type appropriate for a basic JSON data format.
Required Methods
fn custom<T>(msg: T) -> Self where T: DisplayUsed when a
Serializeimplementation encounters any error while serializing a type.The message should not be capitalized and should not end with a period.
For example, a filesystem
Pathmay refuse to serialize itself if it contains invalid UTF-8 data.# struct Path; # # impl Path { # fn to_str(&self) -> Option<&str> { # unimplemented!() # } # } # use serde::ser::{self, Serialize, Serializer}; impl Serialize for Path { fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer, { match self.to_str() { Some(s) => serializer.serialize_str(s), None => Err(ser::Error::custom("path contains invalid UTF-8 characters")), } } }