pub enum OperationError {
Show 19 variants
ReferenceNotFound {
reference: String,
},
InvalidTemplatePart,
ParameterResolutionFailed {
parameter: String,
reason: String,
},
UndeclaredInput {
operation: &'static str,
input: String,
},
UndeclaredOutput {
operation: &'static str,
output: String,
},
UndeclaredDerivedOutput {
operation: &'static str,
input: String,
},
IterSourceNotFound {
iter_name: String,
source_ref: String,
},
IterSourceTypeMismatch {
iter_name: String,
source_ref: String,
expected: &'static str,
},
Iteration {
iter_name: String,
index: String,
depth: usize,
source: Box<OperationError>,
},
AccessError(AccessError),
StoreError(StoreError),
MissingParameters {
name: String,
},
HookAbort {
hook: String,
reason: String,
},
Cancelled,
ThreadPanic,
ExtensionNotFound {
operation: String,
extension: String,
},
GuardTypeMismatch {
guard_name: String,
reference: String,
},
Guard {
guard_name: String,
source: Box<OperationError>,
},
Custom {
operation: String,
message: String,
},
}Expand description
Errors produced while executing a running pipeline.
Returned by Pipeline::wait when the worker thread reports failure,
and surfaced through OperationError variants in custom operations.
Iteration and guard failures wrap the underlying cause in the
Iteration and Guard variants so
the trace preserves the scope in which the failure occurred.
Variants§
ReferenceNotFound
Parameter resolution tried to look up a dotted store path that did not exist at runtime.
InvalidTemplatePart
A Param::Template contained
a part that resolved to an array or map instead of a scalar.
ParameterResolutionFailed
Resolving a parameter into the runtime store failed — typically because the target key was already occupied.
Fields
UndeclaredInput
A custom operation called Context::input with a name that was
not declared in its OperationMetadata.
Fields
UndeclaredOutput
A custom operation called Context::set_static_output with a
name not present as a NameSpec::Static
output in its metadata.
Fields
UndeclaredDerivedOutput
A custom operation called Context::set_derived_output with an
input name not referenced by any derived output in its metadata.
Fields
IterSourceNotFound
An iteration node resolved its IterSource
reference to nothing at runtime.
Fields
IterSourceTypeMismatch
An iteration source resolved to an entry of the wrong shape — an array was expected but a map (or scalar) was found, or vice versa.
Fields
Iteration
A step inside an iteration body failed. Wraps the underlying error so the outer cause includes the iteration name, current index/key, and nesting depth.
Fields
index: StringThe current index or key as rendered by
IterIndex::fmt.
source: Box<OperationError>The underlying error from the inner step.
AccessError(AccessError)
A traversal of a StoreEntry failed.
StoreError(StoreError)
A Store operation failed at runtime.
MissingParameters
The runner tried to look up the parameters for a step or return block that was never recorded at draft time — this indicates a bug in the caller and is effectively unreachable through normal construction APIs.
HookAbort
A hook interceptor returned HookAction::Abort.
Fields
Cancelled
Pipeline::cancel was observed between steps and the worker
exited early.
ThreadPanic
The worker thread panicked. Pipeline::wait turns the panic
into this variant rather than unwinding into the caller.
ExtensionNotFound
Context::extension could not find the requested extension —
either the operation did not declare it, or no extension was
registered under that name and type.
Fields
GuardTypeMismatch
A GuardSource resolved to an
entry that was not a Value::Boolean.
Fields
Guard
A step inside a guard body failed. Wraps the underlying error so the outer cause includes the guard name.
Fields
source: Box<OperationError>The underlying error from the inner step.
Custom
A custom operation emitted an ad-hoc error via
Context::error or the
op_error! macro.
Trait Implementations§
Source§impl Debug for OperationError
impl Debug for OperationError
Source§impl Display for OperationError
impl Display for OperationError
Source§impl Error for OperationError
impl Error for OperationError
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()