#[non_exhaustive]pub enum ToolError {
InvalidInput(String),
ExecutionFailed(String),
Timeout(u64),
ToolNotFound(String),
McpError {
code: i32,
message: String,
data: Option<Value>,
},
ControlAbort(String),
}Expand description
Tool error type.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
InvalidInput(String)
Input validation error.
ExecutionFailed(String)
Execution error.
Timeout(u64)
Timeout.
ToolNotFound(String)
Tool not found.
McpError
MCP transport-layer error (adapted via MCPToolAdapter), preserving code/message/data (P1-6).
Not silently downgraded to ExecutionFailed: the caller can distinguish connection drop /
method-not-found / argument errors by code.
Fields
ControlAbort(String)
Framework-level control abort (0.20.0 S3.1).
Distinct from ExecutionFailed: this is the framework
refusing to perform the tool call for control-flow reasons (e.g. the handoff
cycle / depth guard in lc-agents), not the tool running and failing. Callers must
propagate it hard — the agent cannot recover by re-planning, and softening it to
an observation would defeat the guard it exists to enforce.
Trait Implementations§
Source§impl Error for ToolError
impl Error for ToolError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for ToolError
impl RefUnwindSafe for ToolError
impl Send for ToolError
impl Sync for ToolError
impl Unpin for ToolError
impl UnsafeUnpin for ToolError
impl UnwindSafe for ToolError
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
Mutably borrows from an owned value. Read more