#[non_exhaustive]pub enum LimitError {
#[non_exhaustive] UnknownMetric {
id: String,
},
#[non_exhaustive] NotFinite {
id: &'static str,
limit: f64,
},
#[non_exhaustive] Negative {
id: &'static str,
limit: f64,
},
#[non_exhaustive] BadRatio {
ratio: f64,
},
}Expand description
Why a limit was rejected by Threshold::check or a soft ratio by
Threshold::soft_limit.
The Display rendering is a bare message with no
severity prefix; the presenting layer adds one.
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.
#[non_exhaustive]UnknownMetric
The metric id is not in METRICS.
Fields
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
#[non_exhaustive]NotFinite
The limit is NaN or infinite, which would silently disable a strict comparison gate.
Fields
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
#[non_exhaustive]Negative
A negative limit on a Scale::Ratio metric, whose values are
counts and cannot be negative.
Fields
This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
#[non_exhaustive]BadRatio
A soft-tier ratio outside (0, 1], or not finite.
Trait Implementations§
Source§impl Clone for LimitError
impl Clone for LimitError
Source§impl Debug for LimitError
impl Debug for LimitError
Source§impl Display for LimitError
impl Display for LimitError
Source§impl Error for LimitError
impl Error for LimitError
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()
Source§impl PartialEq for LimitError
impl PartialEq for LimitError
impl StructuralPartialEq for LimitError
Auto Trait Implementations§
impl Freeze for LimitError
impl RefUnwindSafe for LimitError
impl Send for LimitError
impl Sync for LimitError
impl Unpin for LimitError
impl UnsafeUnpin for LimitError
impl UnwindSafe for LimitError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ErrorExt for T
impl<T> ErrorExt for T
Source§fn raise_typed(self) -> Exn<Self>where
Self: Sized,
fn raise_typed(self) -> Exn<Self>where
Self: Sized,
Raise this error as a typed exception, retaining
Self even when it is already an Error.Source§fn and_raise_typed<T>(self, context: T) -> Exn<T>
fn and_raise_typed<T>(self, context: T) -> Exn<T>
Like
Self::and_raise(), retaining the context’s type in an exception.Source§fn raise_erased(self) -> Exnwhere
Self: Sized,
fn raise_erased(self) -> Exnwhere
Self: Sized,
Raise this error as a new exception, with type erasure.
Tree-backed
crate::Error values reuse their existing frame and caller location.