Trait serde::ser::Error [] [src]

pub trait Error: Sized + Error {
    fn custom<T>(msg: T) -> Self where T: Display;
}

Trait used by Serialize implementations to generically construct errors belonging to the Serializer against which they are currently running.

Required Methods

Used when a Serialize implementation encounters any error while serializing a type.

The message should not be capitalized and should not end with a period.

For example, a filesystem Path may refuse to serialize itself if it contains invalid UTF-8 data.

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")),
        }
    }
}

Implementors