Enum ImageError

enum ImageError

The generic error type for image operations.

This high level enum allows, by variant matching, a rough separation of concerns between underlying IO, the caller, format specifications, and the image implementation.

Variants

Decoding(DecodingError)

An error was encountered while decoding.

This means that the input data did not conform to the specification of some image format, or that no format could be determined, or that it did not match format specific requirements set by the caller.

Encoding(EncodingError)

An error was encountered while encoding.

The input image can not be encoded with the chosen format, for example because the specification has no representation for its color space or because a necessary conversion is ambiguous. In some cases it might also happen that the dimensions can not be used with the format.

Parameter(ParameterError)

An error was encountered in input arguments.

This is a catch-all case for strictly internal operations such as scaling, conversions, etc. that involve no external format specifications.

Limits(LimitError)

Completing the operation would have required more resources than allowed.

Errors of this type are limits set by the user or environment, not inherent in a specific format or operation that was executed.

Unsupported(UnsupportedError)

An operation can not be completed by the chosen abstraction.

This means that it might be possible for the operation to succeed in general but

  • it requires a disabled feature,
  • the implementation does not yet exist, or
  • no abstraction for a lower level could be found.
IoError(io::Error)

An error occurred while interacting with the environment.

Implementations

impl Debug for ImageError

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

impl Display for ImageError

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

impl Error for ImageError

fn source(self: &Self) -> Option<&dyn Error + 'static>

impl Freeze for ImageError

impl From for ImageError

fn from(err: io::Error) -> ImageError

impl From for crate::error::ImageError

fn from(error: Error) -> ImageError

impl RefUnwindSafe for ImageError

impl Send for ImageError

impl Sync for ImageError

impl Unpin for ImageError

impl UnwindSafe for ImageError

impl<T> Any for ImageError

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for ImageError

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for ImageError

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> From for ImageError

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Pointable for ImageError

unsafe fn init(init: <T as Pointable>::Init) -> usize
unsafe fn deref<'a>(ptr: usize) -> &'a T
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
unsafe fn drop(ptr: usize)

impl<T> ToString for ImageError

fn to_string(self: &Self) -> String

impl<T, U> Into for ImageError

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for ImageError

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for ImageError

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>