Enum cargo_metadata::Error [−][src]
pub enum Error {
CargoMetadata {
stderr: String,
},
Io(Error),
Utf8(Utf8Error),
ErrUtf8(FromUtf8Error),
Json(Error),
NoJson,
}
Expand description
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:
- Convert it to a
failure::Error
(possible using the?
operator), which is similar to aBox<::std::error::Error + 'static + Send + Sync>
. - Have appropriate variants in your own error type. E.g. you could wrap
a
failure::Context<Error>
or add afailure::Backtrace
field (which is empty ifRUST_BACKTRACE
is not set, so it’s simple to use). - 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 aErrorKind
variant).
Variants
CargoMetadata
Fields
stderr: String
stderr returned by the cargo metadata
command
Error during execution of cargo metadata
Io(Error)
Tuple Fields
0: Error
IO Error during execution of cargo metadata
Utf8(Utf8Error)
Tuple Fields
0: Utf8Error
Output of cargo metadata
was not valid utf8
ErrUtf8(FromUtf8Error)
Tuple Fields
Error output of cargo metadata
was not valid utf8
Json(Error)
Tuple Fields
0: Error
Deserialization error (structure of json did not match expected structure)
NoJson
The output did not contain any json
Trait Implementations
Performs the conversion.