devela/work/exec/process/
error.rs1use crate::{ExitStatus, impl_trait};
7
8#[doc = crate::_tags!(platform runtime error)]
9#[doc = crate::_doc_meta!{location("work/process")}]
11#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
15pub struct ExitStatusError {
16 pub(crate) status: ExitStatus,
17}
18
19impl_trait!(fmt::Display+Error for ExitStatusError |self, f| {
20 write!(f, "process exited unsuccessfully: {}", self.status)
21});
22
23impl ExitStatusError {
24 pub fn code(&self) -> Option<i32> {
26 self.status.code()
27 }
28
29 pub const fn into_status(&self) -> ExitStatus {
31 self.status
32 }
33}