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
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
Tuple Fields of Io
0: Error
Utf8(Utf8Error)
Output of cargo metadata
was not valid utf8
Tuple Fields of Utf8
0: Utf8Error
ErrUtf8(FromUtf8Error)
Error output of cargo metadata
was not valid utf8
Tuple Fields of ErrUtf8
Json(Error)
Deserialization error (structure of json did not match expected structure)
Tuple Fields of Json
0: Error
The output did not contain any json
Trait Implementations
Performs the conversion.