ConfigurationError

Struct ConfigurationError 

Source
pub struct ConfigurationError { /* private fields */ }
Expand description

Represents all errors that might occur at all stages of processing configuration.

Implementations§

Source§

impl ConfigurationError

Source

pub fn inner(&self) -> &ErrorCode

Returns reference to underlying error code. Returned object has all contextual information stripped off.

Source

pub fn enrich_with_context<T: Display>(self, message: T) -> Self

Enriches error context with arbitray message.

Used to put more contextual information in the error to facilitate debugging issues. One can put e.g. path to file that failed to open in error message this way.

§Example
use miau::error::{ConfigurationError, ErrorCode};

let error: ConfigurationError = ErrorCode::NullValue.into();

let enriched_error = error
    .enrich_with_context("Detailed description of contextual information");
Source

pub fn enrich_with_key(self, key: Key) -> Self

Enriches error context with a key.

Used to put more contextual information in the error to facilitate debugging issues. One can put information about location in configuration tree in error with this function.

§Example
use miau::error::{ConfigurationError, ErrorCode};
use miau::configuration::Key;

let error: ConfigurationError = ErrorCode::NullValue.into();

let enriched_error = error
    .enrich_with_key(Key::Map("key".to_string()));
Source

pub fn enrich_with_keys(self, keys: &CompoundKey) -> Self

Enriches error context with a complex path.

Used to put more contextual information in the error to facilitate debugging issues. One can put information about location in configuration tree in error with this function.

Source

pub fn pretty_display(&self) -> PrettyConfigurationDisplay<'_>

Returns an object that displays error in pretty way.

§Example
use miau::error::{ConfigurationError, ErrorCode};
use miau::configuration::Key;

let error: ConfigurationError = ErrorCode::NullValue.into();

println!("Basic display : {}", error);
println!("Pretty display : {}", error.pretty_display());

Methods from Deref<Target = ErrorImpl>§

Source

pub fn get_code(&self) -> &ErrorCode

Returns reference to underlying cause of the error.

Source

pub fn get_path(&self) -> Option<&[Key]>

Returns path in configuration at which error occured.

Returned value is a slice with configuration keys counting from root.

Source

pub fn get_context(&self) -> Option<&[String]>

Returns additional context attached to error.

This information can contain, for instance, name of the file that was not found.

Trait Implementations§

Source§

impl Debug for ConfigurationError

Source§

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

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

impl Deref for ConfigurationError

Source§

type Target = ErrorImpl

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Display for ConfigurationError

Source§

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

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

impl Error for ConfigurationError

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 Error for ConfigurationError

Source§

fn custom<T>(msg: T) -> Self
where T: Display,

Raised when there is general error when deserializing a type. Read more
Source§

fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self

Raised when a Deserialize receives a type different from what it was expecting. Read more
Source§

fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self

Raised when a Deserialize receives a value of the right type but that is wrong for some other reason. Read more
Source§

fn invalid_length(len: usize, exp: &dyn Expected) -> Self

Raised when deserializing a sequence or map and the input data contains too many or too few elements. Read more
Source§

fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self

Raised when a Deserialize enum type received a variant with an unrecognized name.
Source§

fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self

Raised when a Deserialize struct type received a field with an unrecognized name.
Source§

fn missing_field(field: &'static str) -> Self

Raised when a Deserialize struct type expected to receive a required field with a particular name but that field was not present in the input.
Source§

fn duplicate_field(field: &'static str) -> Self

Raised when a Deserialize struct type received more than one of the same field.
Source§

impl From<Error> for ConfigurationError

Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ErrorCode> for ConfigurationError

Source§

fn from(e: ErrorCode) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

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, 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.