Skip to main content

ErrorClass

Enum ErrorClass 

Source
pub enum ErrorClass {
    RateLimit,
    Overloaded,
    Server,
    Timeout,
    Auth,
    ContextWindow,
    ContentPolicy,
    Malformed,
    NotFound,
    BillingQuota,
    Unknown,
}
Expand description

Provider-agnostic error class.

Variants§

§

RateLimit

HTTP 429 / rate_limit_error / ThrottlingException. Retry with backoff.

§

Overloaded

Provider is overloaded (Anthropic overloaded_error, ServiceUnavailableException). Retry with backoff.

§

Server

Generic 5xx. Retry with backoff.

§

Timeout

Request timed out at the server or transport. Retry.

§

Auth

HTTP 401 / 403. Do not retry. Caller must fix credentials.

§

ContextWindow

Input exceeded the model’s context window (context_length_exceeded, ValidationException with token count). Do not retry without shrinking the prompt.

§

ContentPolicy

Output blocked by a content policy filter. Do not retry.

§

Malformed

400 with a parser-level error in the request body. Do not retry without fixing the request.

§

NotFound

404 (model not found, etc.). Do not retry.

§

BillingQuota

HTTP 402 / insufficient_quota / BillingException. Do not retry until the account is funded.

§

Unknown

Anything we did not recognize. Caller decides what to do.

Implementations§

Source§

impl ErrorClass

Source

pub fn is_retriable(self) -> bool

True for classes that are worth retrying with backoff.

Retriable: RateLimit, Overloaded, Server, Timeout. Everything else is terminal.

Trait Implementations§

Source§

impl Clone for ErrorClass

Source§

fn clone(&self) -> ErrorClass

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorClass

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for ErrorClass

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ErrorClass

Source§

fn eq(&self, other: &ErrorClass) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ErrorClass

Source§

impl Eq for ErrorClass

Source§

impl StructuralPartialEq for ErrorClass

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.