pub enum Error {
    Unexpected(Error),
    User(Error),
    Help {
        command: Vec<String>,
        output: String,
        code: i32,
    },
    Config(Error),
    ExitWithCode(i32),
}
Expand description

A top level error type for ffx tool results

Variants§

§

Unexpected(Error)

An error that qualifies as a bugcheck

§

User(Error)

A known kind of error that can be reported usefully to the user

§

Help

An early-exit that should result in outputting help to the user (like [argh::EarlyExit]), but is not itself an error in any meaningful sense.

Fields

§command: Vec<String>

The command name (argv[0..]) that should be used in supplemental help output

§output: String

The text to output to the user

§code: i32

The exit status

§

Config(Error)

Something failed before ffx’s configuration could be loaded (like an invalid argument, a failure to read an env config file, etc).

Errors of this type should include any information the user might need to recover from the issue, because it will not advise the user to look in the log files or anything like that.

§

ExitWithCode(i32)

Exit with a specific error code but no output

Implementations§

source§

impl Error

source

pub fn from_early_exit( command: &[impl AsRef<str>], early_exit: EarlyExit ) -> Self

Map an argh early exit to our kind of error

source

pub fn exit_code(&self) -> i32

Get the exit code this error should correspond to if it bubbles up to main()

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for Error

source§

fn from(error: Error) -> Self

Converts to this type from the input type.
source§

impl From<FfxError> for Error

source§

fn from(error: FfxError) -> Self

Converts to this type from the input type.
source§

impl IntoExitCode for Error

source§

fn exit_code(&self) -> i32

source§

impl ResultExt for Error

source§

fn ffx_error<'a>(&'a self) -> Option<&'a FfxError>

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.