Struct std::process::ExitStatusError
source · pub struct ExitStatusError(/* private fields */);
exit_status_error
#84908)Expand description
Describes the result of a process after it has failed
Produced by the .exit_ok
method on ExitStatus
.
§Examples
Implementations§
source§impl ExitStatusError
impl ExitStatusError
sourcepub fn code(&self) -> Option<i32>
🔬This is a nightly-only experimental API. (exit_status_error
#84908)
pub fn code(&self) -> Option<i32>
exit_status_error
#84908)Reports the exit code, if applicable, from an ExitStatusError
.
In Unix terms the return value is the exit status: the value passed to exit
, if the
process finished by calling exit
. Note that on Unix the exit status is truncated to 8
bits, and that values that didn’t come from a program’s call to exit
may be invented by the
runtime system (often, for example, 255, 254, 127 or 126).
On Unix, this will return None
if the process was terminated by a signal. If you want to
handle such situations specially, consider using methods from
ExitStatusExt
.
If the process finished by calling exit
with a nonzero value, this will return
that exit status.
If the error was something else, it will return None
.
If the process exited successfully (ie, by calling exit(0)
), there is no
ExitStatusError
. So the return value from ExitStatusError::code()
is always nonzero.
§Examples
sourcepub fn code_nonzero(&self) -> Option<NonZero<i32>>
🔬This is a nightly-only experimental API. (exit_status_error
#84908)
pub fn code_nonzero(&self) -> Option<NonZero<i32>>
exit_status_error
#84908)Reports the exit code, if applicable, from an ExitStatusError
, as a NonZero
.
This is exactly like code()
, except that it returns a NonZero<i32>
.
Plain code
, returning a plain integer, is provided because it is often more convenient.
The returned value from code()
is indeed also nonzero; use code_nonzero()
when you want
a type-level guarantee of nonzeroness.
§Examples
sourcepub fn into_status(&self) -> ExitStatus
🔬This is a nightly-only experimental API. (exit_status_error
#84908)
pub fn into_status(&self) -> ExitStatus
exit_status_error
#84908)Converts an ExitStatusError
(back) to an ExitStatus
.
Trait Implementations§
source§impl Clone for ExitStatusError
impl Clone for ExitStatusError
source§fn clone(&self) -> ExitStatusError
fn clone(&self) -> ExitStatusError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExitStatusError
impl Debug for ExitStatusError
source§impl Display for ExitStatusError
impl Display for ExitStatusError
source§impl Error for ExitStatusError
impl Error for ExitStatusError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl ExitStatusExt for ExitStatusError
Available on Unix only.
impl ExitStatusExt for ExitStatusError
source§fn from_raw(raw: i32) -> Self
fn from_raw(raw: i32) -> Self
ExitStatus
or ExitStatusError
from the raw underlying integer status
value from wait
Read more