[][src]Enum cargo_metadata::Error

pub enum Error {
    CargoMetadata {
        stderr: String,
    },
    Io(Error),
    Utf8(Utf8Error),
    ErrUtf8(FromUtf8Error),
    Json(Error),
    NoJson,
}

Error returned when executing/parsing cargo metadata fails.

Note about Backtraces

This error type does not contain backtraces, but each error variant comes from one specific place, so it's not really needed for the inside of this crate. If you need a backtrace down to, but not inside of, a failed call of cargo_metadata you can do one of multiple thinks:

  1. Convert it to a failure::Error (possible using the ? operator), which is similar to a Box<::std::error::Error + 'static + Send + Sync>.
  2. Have appropriate variants in your own error type. E.g. you could wrap a failure::Context<Error> or add a failure::Backtrace field (which is empty if RUST_BACKTRACE is not set, so it's simple to use).
  3. You still can place a failure based error into a error_chain if you really want to. (Either through foreign_links or by making it a field value of a ErrorKind variant).

Variants

CargoMetadata

Error during execution of cargo metadata

Fields of CargoMetadata

stderr: String

stderr returned by the cargo metadata command

Io(Error)

IO Error during execution of cargo metadata

Utf8(Utf8Error)

Output of cargo metadata was not valid utf8

ErrUtf8(FromUtf8Error)

Error output of cargo metadata was not valid utf8

Json(Error)

Deserialization error (structure of json did not match expected structure)

NoJson

The output did not contain any json

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<FromUtf8Error> for Error[src]

impl From<Utf8Error> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.