Struct icu_provider::DataError
source · #[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 “log_error_context” 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_path_context<P: AsRef<Path> + ?Sized>(self, path: &P) -> Self
pub fn with_path_context<P: AsRef<Path> + ?Sized>(self, path: &P) -> Self
Logs the data error with the given context, then return self.
This does not modify the error, but if the “log_error_context” Cargo feature is enabled, it will print out the 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 “log_error_context” 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 “log_error_context” Cargo feature is enabled, it will print out the context.