#[non_exhaustive]pub enum ErrorKind {
Unexpected,
Unsupported,
ConfigInvalid,
NotFound,
PermissionDenied,
IsADirectory,
NotADirectory,
AlreadyExists,
RateLimited,
IsSameFile,
ConditionNotMatch,
RangeNotSatisfied,
}
Expand description
ErrorKind is all kinds of Error of opendal.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unexpected
OpenDAL don’t know what happened here, and no actions other than just returning it back. For example, s3 returns an internal service error.
Unsupported
Underlying service doesn’t support this operation.
ConfigInvalid
The config for backend is invalid.
NotFound
The given path is not found.
PermissionDenied
The given path doesn’t have enough permission for this operation
IsADirectory
The given path is a directory.
NotADirectory
The given path is not a directory.
AlreadyExists
The given path already exists thus we failed to the specified operation on it.
RateLimited
Requests that sent to this path is over the limit, please slow down.
IsSameFile
The given file paths are same.
ConditionNotMatch
The condition of this operation is not match.
The condition
itself is context based.
For example, in S3, the condition
can be:
- writing a file with If-Match header but the file’s ETag is not match (will get a 412 Precondition Failed).
- reading a file with If-None-Match header but the file’s ETag is match (will get a 304 Not Modified).
As OpenDAL cannot handle the condition not match
error, it will always return this error to users.
So users could to handle this error by themselves.
RangeNotSatisfied
The range of the content is not satisfied.
OpenDAL returns this error to indicate that the range of the read request is not satisfied.
Implementations§
Trait Implementations§
impl Copy for ErrorKind
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
Source§fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self>where
Self: Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.