Added a couple new Errors that can be supplied during transmutation.
Added an error for a corruption detection of the given bytes. This was added so that an inproper CRC code when reading a PNG file could throw an Error. Added an error for an invalid value being transmuted from the given bytes. This was added so that an Error can be thrown when a value outside of a given range is parsed.
This commit is contained in:
parent
12096a5136
commit
27a3195bea
@ -7,11 +7,17 @@ use weave::Error;
|
||||
#[derive(Copy, Clone, Eq, PartialEq)]
|
||||
pub enum ConversionError
|
||||
{
|
||||
/// A corruption of the binary data has been detected.
|
||||
CorruptionDetected,
|
||||
|
||||
/// An invalid value was detected.
|
||||
InvalidValue,
|
||||
|
||||
/// There were not enough bytes to create the desired type.
|
||||
TooFewBytes,
|
||||
|
||||
/// There were to many bytes to create the desired type.
|
||||
TooManyBytes
|
||||
TooManyBytes,
|
||||
}
|
||||
|
||||
|
||||
@ -22,6 +28,16 @@ impl Error for ConversionError
|
||||
{
|
||||
match *self
|
||||
{
|
||||
ConversionError::CorruptionDetected =>
|
||||
{
|
||||
"A corruption of the byte data was detected."
|
||||
}
|
||||
|
||||
ConversionError::InvalidValue =>
|
||||
{
|
||||
"An invalid value was transmuted from the given byte data."
|
||||
}
|
||||
|
||||
ConversionError::TooFewBytes =>
|
||||
{
|
||||
"Not enough bytes of data were provided \
|
||||
@ -62,6 +78,16 @@ impl ::std::fmt::Display for ConversionError
|
||||
{
|
||||
match *self
|
||||
{
|
||||
ConversionError::CorruptionDetected =>
|
||||
{
|
||||
write!(f, "Byte Conversion Error: CorruptionDetected")
|
||||
}
|
||||
|
||||
ConversionError::InvalidValue =>
|
||||
{
|
||||
write!(f, "Byte Conversion Error: InvalidValue")
|
||||
}
|
||||
|
||||
ConversionError::TooFewBytes =>
|
||||
{
|
||||
write!(f, "Byte Conversion Error: TooFewBytes")
|
||||
|
Loading…
x
Reference in New Issue
Block a user