Enum Error

Source
pub enum Error<E = NoError> {
    Api(E),
    HttpClient(Box<dyn Error + Send + Sync + 'static>),
    Json(Error),
    UnexpectedResponse(String),
    BadRequest(String),
    Authentication(AuthError),
    RateLimited {
        reason: RateLimitReason,
        retry_after_seconds: u32,
    },
    AccessDenied(AccessError),
    ServerError(String),
    UnexpectedHttpError {
        code: u16,
        response: String,
    },
}
Expand description

An error occurred in the process of making an API call. This is different from the case where your call succeeded, but the operation returned an error.

Variants§

§

Api(E)

An error returned by the API. Its type depends on the endpoint being called.

§

HttpClient(Box<dyn Error + Send + Sync + 'static>)

Some error from the internals of the HTTP client.

§

Json(Error)

Something went wrong in the process of transforming your arguments into a JSON string.

§

UnexpectedResponse(String)

The Dropbox API response was unexpected or malformed in some way.

§

BadRequest(String)

The Dropbox API indicated that your request was malformed in some way.

§

Authentication(AuthError)

Errors occurred during authentication.

§

RateLimited

Your request was rejected due to rate-limiting. You can retry it later.

Fields

§reason: RateLimitReason

The server-given reason for the rate-limiting.

§retry_after_seconds: u32

You can retry this request after this many seconds.

§

AccessDenied(AccessError)

The user or team account doesn’t have access to the endpoint or feature.

§

ServerError(String)

The Dropbox API server had an internal error.

§

UnexpectedHttpError

The Dropbox API returned an unexpected HTTP response code.

Fields

§code: u16

HTTP status code returned.

§response: String

The response body.

Implementations§

Source§

impl<E: Error + 'static> Error<E>

Source

pub fn downcast_ref_inner<E2: Error + 'static>(&self) -> Option<&E2>

Look for an inner error of the given type anywhere within this error, by walking the chain of std::error::Error::source recursively until something matches the desired type.

Source§

impl<E: Error + Send + Sync + 'static> Error<E>

Source

pub fn boxed(self) -> BoxedError

Change the concretely-typed API error, if any, into a boxed trait object.

This makes it possible to combine dissimilar errors into one type, which can be broken out later using std::error::Error::downcast_ref if desired.

Source§

impl Error<NoError>

Source

pub fn typed<E>(self) -> Error<E>

Lift an error with no possible API error value to a typed error of any type.

Ideally this would just be impl<E> From<Error<NoError>> for Error<E> but that conflicts with the reflexive conversion (E could be NoError), and Rust doesn’t have negative type bounds or specialization, so it has to be this method instead.

Trait Implementations§

Source§

impl<E: Debug> Debug for Error<E>

Source§

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

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

impl<E> Display for Error<E>
where E: Display,

Source§

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

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

impl<E> Error for Error<E>
where E: Error + 'static, Self: Debug + Display,

Source§

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

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Available on crate feature default_client only.
Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl<E> From<Error> for Error<E>

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<RequestError> for Error

Available on crate feature default_client only.
Source§

fn from(e: RequestError) -> Self

Converts to this type from the input type.
Source§

impl From<Utf8Error> for Error

Available on crate feature default_client only.
Source§

fn from(e: Utf8Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<E> Freeze for Error<E>
where E: Freeze,

§

impl<E = NoError> !RefUnwindSafe for Error<E>

§

impl<E> Send for Error<E>
where E: Send,

§

impl<E> Sync for Error<E>
where E: Sync,

§

impl<E> Unpin for Error<E>
where E: Unpin,

§

impl<E = NoError> !UnwindSafe for Error<E>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T