Skip to main content

MiscCodecError

Enum MiscCodecError 

Source
pub enum MiscCodecError {
    InvalidBase64 {
        kind: Base64ErrorKind,
        input_index: Option<usize>,
        symbol: Option<u8>,
        input_length: Option<usize>,
        source: DecodeError,
    },
    MissingPrefix {
        prefix: String,
    },
    InvalidDigit {
        radix: u32,
        index: usize,
        character: char,
    },
    InvalidLength {
        context: &'static str,
        expected: String,
        actual: usize,
    },
    InvalidEscape {
        index: usize,
        escape: String,
        reason: String,
    },
    InvalidCharacter {
        index: usize,
        character: char,
        reason: String,
    },
    InvalidInput {
        codec: &'static str,
        reason: String,
    },
    InvalidUtf8 {
        source: FromUtf8Error,
    },
}
Expand description

Error returned by codec operations when input cannot be encoded or decoded.

The variants retain structured details from the codec, including positions in the original input where available.

§Examples

use qubit_codec_misc::MiscCodecError;

let error = MiscCodecError::InvalidInput {
    codec: "hex",
    reason: "unsupported digit".to_owned(),
};
assert!(matches!(error, MiscCodecError::InvalidInput { codec: "hex", .. }));

Variants§

§

InvalidBase64

Base64 decoding failed with a structured error represented by the dependency type.

Fields

§kind: Base64ErrorKind

Structured category of the Base64 failure.

§input_index: Option<usize>

Input byte index, when the dependency reports one.

§symbol: Option<u8>

Invalid symbol, when the dependency reports one.

§input_length: Option<usize>

Invalid input length, when the dependency reports one.

§source: DecodeError

Underlying Base64 decoding error.

§

MissingPrefix

A configured prefix was required but missing.

Fields

§prefix: String

Required prefix.

§

InvalidDigit

Input contained a digit that is invalid for the requested radix.

Fields

§radix: u32

Numeric radix expected by the codec.

§index: usize

Character byte index in the original input.

§character: char

Invalid character.

§

InvalidLength

Input length does not satisfy a codec requirement.

Fields

§context: &'static str

Human-readable input part whose length was invalid.

§expected: String

Human-readable length requirement.

§actual: usize

Actual length observed by the codec.

§

InvalidEscape

Input contained a malformed or unsupported escape sequence.

Fields

§index: usize

Byte index of the escape marker in the original input.

§escape: String

Escape sequence fragment that caused the error.

§reason: String

Human-readable reason the escape was rejected.

§

InvalidCharacter

Input contained a character that cannot appear in that context.

Fields

§index: usize

Character byte index in the original input.

§character: char

Invalid character.

§reason: String

Human-readable reason the character was rejected.

§

InvalidInput

Input was rejected by a codec-specific validator.

Fields

§codec: &'static str

Stable codec name, such as base64.

§reason: String

Human-readable reason reported by the codec.

§

InvalidUtf8

Decoded bytes were not valid UTF-8.

Fields

§source: FromUtf8Error

Underlying UTF-8 conversion error.

Trait Implementations§

Source§

impl Debug for MiscCodecError

Source§

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

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

impl Display for MiscCodecError

Source§

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

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

impl Error for MiscCodecError

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 From<DecodeError> for MiscCodecError

Source§

fn from(source: DecodeError) -> Self

Converts a Base64 decoding error and exposes its structured fields.

§Parameters
  • source: The Base64 decoding error to convert.
Source§

impl From<FromUtf8Error> for MiscCodecError

Source§

fn from(source: FromUtf8Error) -> 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<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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.