pub enum Error {
HostMissing,
Spawn {
source: Error,
},
Timeout {
elapsed: Duration,
},
ExitedNonZero {
status: ExitStatus,
stderr: String,
},
Io {
source: Error,
},
Capture {
path: PathBuf,
source: Error,
},
}Expand description
Errors surfaced by the claude -p subprocess client.
Variants§
HostMissing
claude is not on PATH, or the explicit override path does
not point at an executable. Distinct from Error::Spawn so
omne validate and the executor can emit an install hint.
Spawn
std::process::Command::spawn failed for a reason other than
the binary being missing (permission denied, I/O error on the
pipe allocation, etc).
Timeout
The preflight subprocess did not exit within
PREFLIGHT_TIMEOUT. The child is killed before this error is
returned so no zombie leaks.
ExitedNonZero
The child exited with a non-zero status. The stderr tail is carried verbatim so callers can surface it in their own error reporting.
Io
I/O error reading the child’s stdout or awaiting its exit.
Capture
I/O error writing the per-node capture file.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more