Enum quartz_nbt::NbtReprError
source · pub enum NbtReprError {
Structure(Box<NbtStructureError>),
Custom(Error),
}
Expand description
An error associated with the translation of a NBT representation to a concrete type. This
can either be a structure error, meaning an error in the structure of the NBT tree, or a
custom error, which could occur when converting a tag into a concrete type. Most of the conversion
processes in this crate return a NbtStructureError
when there is a type mismatch or missing tag.
Variants§
Implementations§
source§impl NbtReprError
impl NbtReprError
sourcepub fn structure(error: NbtStructureError) -> Self
pub fn structure(error: NbtStructureError) -> Self
Creates a new NBT representation error from the given structure error.
sourcepub fn from_any<E: Into<Error>>(error: E) -> Self
pub fn from_any<E: Into<Error>>(error: E) -> Self
Creates a NbtReprError
from the given error. If the given error is a NbtStructureError
,
then the resulting representation error is of the Structure
variant. If the error is a
NbtReprError
then it is downcasted and returned. All other error types are considered custom
errors.
use std::convert::TryFrom;
use std::error::Error;
let tag = NbtTag::Byte(0);
let structure_error = NbtReprError::from_any(i32::try_from(tag).unwrap_err());
assert!(matches!(structure_error, NbtReprError::Structure(..)));
let nested_error = NbtReprError::from_any(structure_error);
assert!(matches!(NbtReprError::from_any(nested_error), NbtReprError::Structure(..)));
let custom_error = "abc".parse::<i32>().unwrap_err();
assert!(matches!(NbtReprError::from_any(custom_error), NbtReprError::Custom(..)));
Trait Implementations§
source§impl Debug for NbtReprError
impl Debug for NbtReprError
source§impl Display for NbtReprError
impl Display for NbtReprError
source§impl Error for NbtReprError
impl Error for NbtReprError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<Box<NbtStructureError>> for NbtReprError
impl From<Box<NbtStructureError>> for NbtReprError
source§fn from(error: Box<NbtStructureError>) -> Self
fn from(error: Box<NbtStructureError>) -> Self
Converts to this type from the input type.
source§impl From<NbtStructureError> for NbtReprError
impl From<NbtStructureError> for NbtReprError
source§fn from(error: NbtStructureError) -> Self
fn from(error: NbtStructureError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for NbtReprError
impl RefUnwindSafe for NbtReprError
impl Send for NbtReprError
impl Sync for NbtReprError
impl Unpin for NbtReprError
impl UnwindSafe for NbtReprError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more