#[non_exhaustive]pub struct DataError {
pub kind: DataErrorKind,
pub key: Option<DataKey>,
pub str_context: Option<&'static str>,
pub silent: bool,
}
Expand description
The error type for ICU4X data provider operations.
To create one of these, either start with a DataErrorKind
or use DataError::custom()
.
§Example
Create a NeedsLocale error and attach a data request for context:
let key: DataKey = unimplemented!();
let req: DataRequest = unimplemented!();
DataErrorKind::NeedsLocale.with_req(key, req);
Create a named custom error:
DataError::custom("This is an example error");
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.kind: DataErrorKind
Broad category of the error.
key: Option<DataKey>
The data key of the request, if available.
str_context: Option<&'static str>
Additional context, if available.
silent: bool
Whether this error was created in silent mode to not log.
Implementations§
Source§impl DataError
impl DataError
Sourcepub const fn custom(str_context: &'static str) -> Self
pub const fn custom(str_context: &'static str) -> Self
Returns a new, empty DataError with kind Custom and a string error message.
Sourcepub const fn with_key(self, key: DataKey) -> Self
pub const fn with_key(self, key: DataKey) -> Self
Sets the resource key of a DataError, returning a modified error.
Sourcepub const fn with_str_context(self, context: &'static str) -> Self
pub const fn with_str_context(self, context: &'static str) -> Self
Sets the string context of a DataError, returning a modified error.
Sourcepub fn with_type_context<T>(self) -> Self
pub fn with_type_context<T>(self) -> Self
Sets the string context of a DataError to the given type name, returning a modified error.
Sourcepub fn with_req(self, key: DataKey, req: DataRequest<'_>) -> Self
pub fn with_req(self, key: DataKey, req: DataRequest<'_>) -> Self
Logs the data error with the given request, returning an error containing the resource key.
If the “logging” Cargo feature is enabled, this logs the whole request. Either way, it returns an error with the resource key portion of the request as context.
Sourcepub fn with_display_context<D: Display + ?Sized>(self, context: &D) -> Self
pub fn with_display_context<D: Display + ?Sized>(self, context: &D) -> Self
Logs the data error with the given context, then return self.
This does not modify the error, but if the “logging” Cargo feature is enabled, it will print out the context.
Sourcepub fn with_debug_context<D: Debug + ?Sized>(self, context: &D) -> Self
pub fn with_debug_context<D: Debug + ?Sized>(self, context: &D) -> Self
Logs the data error with the given context, then return self.
This does not modify the error, but if the “logging” Cargo feature is enabled, it will print out the context.