HwpxError

Enum HwpxError 

Source
#[non_exhaustive]
pub enum HwpxError { Zip(String), InvalidMimetype { actual: String, }, MissingFile { path: String, }, XmlParse { file: String, detail: String, }, InvalidAttribute { element: String, attribute: String, value: String, }, IndexOutOfBounds { kind: &'static str, index: u32, max: u32, }, InvalidStructure { detail: String, }, Io(Error), Core(CoreError), Foundation(FoundationError), XmlSerialize { detail: String, }, }
Expand description

Top-level error type for HWPX decoding operations.

Every fallible operation in smithy-hwpx returns Result<T, HwpxError>. Both hwpforge_core::CoreError and hwpforge_foundation::FoundationError convert via #[from].

§Examples

use hwpforge_smithy_hwpx::HwpxError;

let err = HwpxError::MissingFile {
    path: "Contents/header.xml".into(),
};
assert!(err.to_string().contains("header.xml"));

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.
§

Zip(String)

ZIP archive could not be read or is corrupt.

§

InvalidMimetype

The mimetype entry has an unexpected value.

Fields

§actual: String

The value found in the archive.

§

MissingFile

A required file is missing from the ZIP archive.

Fields

§path: String

The expected path inside the archive.

§

XmlParse

XML could not be deserialized.

Fields

§file: String

Which file inside the archive failed.

§detail: String

The underlying parse error message.

§

InvalidAttribute

An attribute value could not be converted.

Fields

§element: String

The XML element name.

§attribute: String

The attribute name.

§value: String

The rejected value.

§

IndexOutOfBounds

A style index reference exceeds the header’s definition count.

Fields

§kind: &'static str

What kind of index (e.g. “charPrIDRef”, “paraPrIDRef”).

§index: u32

The rejected index value.

§max: u32

The upper bound (exclusive).

§

InvalidStructure

Structural issue in the HWPX content.

Fields

§detail: String

What went wrong.

§

Io(Error)

An I/O error occurred (e.g. reading a file from disk).

§

Core(CoreError)

A Core-layer error propagated upward.

§

Foundation(FoundationError)

A Foundation-layer error propagated upward.

§

XmlSerialize

XML serialization failure (encoder).

Fields

§detail: String

The serialization error message.

Implementations§

Source§

impl HwpxError

Source

pub fn code(&self) -> HwpxErrorCode

Returns the corresponding error code.

Trait Implementations§

Source§

impl Debug for HwpxError

Source§

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

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

impl Display for HwpxError

Source§

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

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

impl Error for HwpxError

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<CoreError> for HwpxError

Source§

fn from(source: CoreError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for HwpxError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<FoundationError> for HwpxError

Source§

fn from(source: FoundationError) -> 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 = 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.