Enum quartz_nbt::NbtReprError [−][src]
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
Structure(Box<NbtStructureError>)
A structure error in the tag tree.
Custom(Error)
A custom error.
Implementations
Creates a new NBT representation error from the given structure error.
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
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for NbtReprError
impl Send for NbtReprError
impl Sync for NbtReprError
impl Unpin for NbtReprError
impl !UnwindSafe for NbtReprError