#[non_exhaustive]pub enum EngineError {
EvaluationError(String),
UnknownVariable(String),
TypeError(String),
DivisionByZero,
UnknownFunction(String),
FunctionError(String),
UnknownRule(String),
MaxCyclesExceeded(usize),
Cancelled,
TimedOut,
InRule {
rule: String,
phase: RulePhase,
source: Box<EngineError>,
},
}Expand description
Errors from executing rules.
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.
EvaluationError(String)
An expression couldn’t be evaluated, e.g. a missing field.
UnknownVariable(String)
A rule referred to a fact that doesn’t exist.
TypeError(String)
An operation was applied to values of the wrong type.
DivisionByZero
Integer % by zero.
UnknownFunction(String)
A rule called a function that is neither built in nor registered.
FunctionError(String)
A function or method call failed (wrong arguments, or an error it returned).
UnknownRule(String)
Retract named a rule that doesn’t exist.
MaxCyclesExceeded(usize)
Rules kept firing past the cycle limit (see RuleEngine::set_max_cycles).
Cancelled
The execution’s cancellation flag was set.
TimedOut
The execution’s timeout elapsed.
InRule
An error raised while evaluating or executing a specific rule.
Implementations§
Source§impl EngineError
impl EngineError
Sourcepub fn root(&self) -> &EngineError
pub fn root(&self) -> &EngineError
The underlying error, without the rule it occurred in.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
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 EngineError
impl RefUnwindSafe for EngineError
impl Send for EngineError
impl Sync for EngineError
impl Unpin for EngineError
impl UnsafeUnpin for EngineError
impl UnwindSafe for EngineError
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