#[non_exhaustive]
pub enum Error {
Show 17 variants Http(HttpError), AuthenticationRequired, BadCryptoStoreState, NoOlmMachine, SerdeJson(JsonError), Io(IoError), CryptoStoreError(CryptoStoreError), OlmError(OlmError), MegolmError(MegolmError), DecryptorError(DecryptorError), StateStore(StoreError), Identifier(IdParseError), Url(UrlParseError), QrCodeScanError(ScanError), UserTagName(InvalidUserTagName), ImageError(ImageError), UnknownError(Box<dyn Error + Send + Sync>),
}
Expand description

Internal representation of errors.

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.

Http(HttpError)

Error doing an HTTP request.

AuthenticationRequired

Queried endpoint requires authentication but was called on an anonymous client.

BadCryptoStoreState

Available on crate feature e2e-encryption only.

Attempting to restore a session after the olm-machine has already been set up fails

NoOlmMachine

Available on crate feature e2e-encryption only.

Attempting to access the olm-machine but it is not yet available.

SerdeJson(JsonError)

An error de/serializing type for the StateStore

Io(IoError)

An IO error happened.

CryptoStoreError(CryptoStoreError)

Available on crate feature e2e-encryption only.

An error occurred in the crypto store.

OlmError(OlmError)

Available on crate feature e2e-encryption only.

An error occurred during a E2EE operation.

MegolmError(MegolmError)

Available on crate feature e2e-encryption only.

An error occurred during a E2EE group operation.

DecryptorError(DecryptorError)

Available on crate feature e2e-encryption only.

An error occurred during decryption.

StateStore(StoreError)

An error occurred in the state store.

Identifier(IdParseError)

An error encountered when trying to parse an identifier.

Url(UrlParseError)

An error encountered when trying to parse a url.

QrCodeScanError(ScanError)

Available on crate feature qrcode only.

An error while scanning a QR code.

UserTagName(InvalidUserTagName)

An error encountered when trying to parse a user tag name.

ImageError(ImageError)

Available on crate feature image-proc only.

An error while processing images.

UnknownError(Box<dyn Error + Send + Sync>)

An other error was raised this might happen because encryption was enabled on the base-crate but not here and that raised.

Implementations

Try to destructure the error into an universal interactive auth info.

Some requests require universal interactive auth, doing such a request will always fail the first time with a 401 status code, the response body will contain info how the client can authenticate.

The request will need to be retried, this time containing additional authentication data.

This method is an convenience method to get to the info the server returned on the first, failed request.

Trait Implementations

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

Calls U::from(self).

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

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more